[英]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.