6 回答

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
您可以使用詞典來完成此任務(wù)。字典是鍵和值的存儲(chǔ)。
>>> dct = {'x': 1, 'y': 2, 'z': 3}>>> dct{'y': 2, 'x': 1, 'z': 3}>>> dct["y"]2
您可以使用變量鍵名來實(shí)現(xiàn)變量的影響,而不會(huì)產(chǎn)生安全風(fēng)險(xiǎn)。
>>> x = "spam">>> z = {x: "eggs"}>>> z["spam"]'eggs'
對于你想要做類似事情的情況
var1 = 'foo'var2 = 'bar'var3 = 'baz'...
列表可能比dict更合適。列表表示有序的對象序列,帶有整數(shù)索引:
l = ['foo', 'bar', 'baz']print(l[1]) # prints bar, because indices start at 0l.append('potatoes') # l is now ['foo', 'bar', 'baz', 'potatoes']
對于有序序列,列表比整數(shù)鍵類型的字典更方便,因?yàn)榱斜碇С值乃饕樞颍?a >切片,append
和其他操作,將需要尷尬密鑰管理與字典。

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
每當(dāng)你想使用變量變量時(shí),最好使用字典。所以不要寫作
$foo = "bar"$$foo = "baz"
你寫
mydict = {}foo = "bar"mydict[foo] = "baz"
這樣您就不會(huì)意外地覆蓋以前存在的變量(這是安全方面),并且您可以擁有不同的“命名空間”。

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
您也可以使用namedtuple
集合模塊代替字典,這樣可以更輕松地訪問。
例如:
# using dictionary
variables = {}
variables["first"] = 34
variables["second"] = 45
print(variables["first"], variables["second"])
# using namedtuple
Variables = namedtuple('Variables', ['first', 'second'])
vars = Variables(34, 45)
print(vars.first, vars.second)
添加回答
舉報(bào)