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