簡體   English   中英

如何在Python中增加變量名?

[英]how to increase variable name in Python?

我正在制作一個模擬程序。

我在啟動程序之前用python list手動編寫了一些粒子的初始條件,例如

var1 = [mass_a, velocity_a, velocity_a]
var2 = [mass_b, velocity_b, velocity_b]
...

那么如何在for循環中的變量中更改該數字? 我嘗試過的是

for i in range(2):
    print(var+str(i)) 

但是他們不起作用

總記得

如果像示例中那樣必須命名帶有數字后綴的變量,則應考慮使用順序可索引的數據結構,例如數組或列表。 在Python中創建一個List

var = [[mass_a, velocity_a, velocity_a],
       [mass_b, velocity_b, velocity_b]]

如果您必須使用不同的后綴來命名變量,例如

var_A=[mass_a, velocity_a, velocity_a]

var_B=[mass_b, velocity_b, velocity_b]

您應該考慮使用非連續的可索引數據結構,例如哈希圖或字典。 該字典的鍵應為后綴,並且值應為分配給各個變量的值。在Python中,我們創建字典

var = {'A':[mass_a, velocity_a, velocity_a],
       'B':[mass_b, velocity_b, velocity_b]}

您能否將變量var1,var2,...放入列表中並遍歷列表,而不是依賴於編號的變量名?

例:

vars = [var1, var2]

for var in vars:
    do_something(var)

只是在這里成為魔鬼的擁護者,您可以使此方法如下工作。

for i in range(2):
    print( globals()["var"+str(i+1)] )

您可以將變量放在列表中並對其進行迭代,例如,

var_list = [var_a,var_b...]

for var in var_list:
    print var

另外,您也可以將變量放入字典中,例如

var_dict = {"var_a":var_a,"var_b":var_b,...}

for var in var_dict:
  print var_dict(var)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM