蟒蛇根据条件选择变量

我想知道是否有可能根据特定条件/输入选择变量。


例如:


day_1 = 5

day_2 = 10

day_3 = 15

i =2

selected_variable = day_i

代码会给出一个错误,当然day_i没有定义。我知道我可以将所有变量添加到列表中,并通过列表位置等访问它们,但我正在使用一个相当大的Simpy环境,如果存在,这将非常有用。


谢谢!


慕桂英3389331
浏览 77回答 4
4回答

子衿沉夜

可用于获取作用域中的所有变量。vars()对于示例:day_1 = 5day_2 = 10day_3 = 15i = 2selected_variable = vars()[f"day_{i}"]

慕容3067478

下面的代码将打印出变量的值day_2i =2selected_variable = 'day_{}'.format(str(i))exec("print(%s)" % selected_variable)

红颜莎娜

您可以将值存储在列表中,并用作索引来访问一个框,因为列表是从0开始编制索引的ii-1days = [5, 10, 15]i = 2selected_variable = days[i - 1]您还可以在字典中关联键/值,并从数字中获取值days = {    1: 5, 2: 10, 3: 15}i = 2selected_variable = days[i]

湖上湖

正如评论中提到的,有几个问题:您可以定义字典:day = {"day_1": 5,"day_2": = 10,"day_3": = 15}selected_variable = day[f"day_{i}"]数组day = [5,10,15]selected_variable = day[i] IF 语句day_1 = 5day_2 = 10day_3 = 15if i == 1:    selected_variable = day_1elif i == 2:    selected_variable = day_2elif i == 3:    selected_variable = day_3或(或)字典(在这种情况下,我最喜欢的)localsvarsday_1 = 5day_2 = 10day_3 = 15selected_variable = locals()[f"day_{i}"]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python