4 回答

TA貢獻1831條經驗 獲得超10個贊
使用exec()方法。例如,假設您有一個字典,并且您希望將每個鍵轉換為具有原始字典值的變量,則可以執行以下操作。
Python 2
>>> c = {"one": 1, "two": 2}
>>> for k,v in c.iteritems():
... exec("%s=%s" % (k,v))
>>> one
1
>>> two
2
Python 3
>>> c = {"one": 1, "two": 2}
>>> for k,v in c.items():
... exec("%s=%s" % (k,v))
>>> one
1
>>> two
2

TA貢獻1876條經驗 獲得超7個贊
將東西填充到全局和/或本地命名空間中并不是一個好主意。使用dict是如此的一些其他語言... d['constant-key'] = value只是看起來很尷尬。Python是OO。用大師的話來說:“”“命名空間是一個很棒的主意 - 讓我們做更多的事情!”“”
像這樣:
>>> class Record(object):
... pass
...
>>> r = Record()
>>> r.foo = 'oof'
>>> setattr(r, 'bar', 'rab')
>>> r.foo
'oof'
>>> r.bar
'rab'
>>> names = 'id description price'.split()
>>> values = [666, 'duct tape', 3.45]
>>> s = Record()
>>> for name, value in zip(names, values):
... setattr(s, name, value)
...
>>> s.__dict__ # If you are suffering from dict withdrawal symptoms
{'price': 3.45, 'id': 666, 'description': 'duct tape'}
>>>
添加回答
舉報