我有一个字符串列表,如:
names = ['apple','orange','banana']
Run Code Online (Sandbox Code Playgroud)
我想为列表中的每个元素创建一个列表,该列表将完全命名为字符串:
apple = []
orange = []
banana = []
Run Code Online (Sandbox Code Playgroud)
我怎么能用Python做到这一点?
Jon*_*nts 30
你可以通过创建一个dict:
fruits = {k:[] for k in names}
Run Code Online (Sandbox Code Playgroud)
然后访问每个(例如:) fruits['apple']- 你不想走在单独变量的道路上!
总是使用Jon Clements的回答.
globals()返回支持全局命名空间的字典,此时您可以像对待任何其他字典一样对待它. 你不应该这样做. 它会导致命名空间的污染,可以覆盖现有的变量,并且使得调试由此产生的问题变得更加困难.
for name in names:
globals().setdefault(name, [])
apple.append('red')
print(apple) # prints ['red']
Run Code Online (Sandbox Code Playgroud)
您必须事先知道列表中包含'apple'以便稍后引用变量'apple',此时您可以正常定义变量.所以这在实践中没用.鉴于Jon的答案也产生了一本字典,使用起来没有任何好处globals.
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |