Python 根据列表中的名称创建列表
我有一个类似下面的列表Python 根据列表中的名称创建列表,python,Python,我有一个类似下面的列表 list1 = ['mike', 'sam', 'paul', 'pam', 'lion'] 我可以一个接一个地指定一个列表名,如下所示 for item in list1: for item in line: mikelist = [] mikelist.append() for item in list1: for item in line: samlist = []
list1 = ['mike', 'sam', 'paul', 'pam', 'lion']
我可以一个接一个地指定一个列表名,如下所示
for item in list1:
for item in line:
mikelist = []
mikelist.append()
for item in list1:
for item in line:
samlist = []
samlist.append()
for item in list1:
for item in line:
paullist = []
paullist.append()
等等。与其在列表中指定名称来创建新列表和追加,我如何从列表1中获取该项并在该for循环行中为列表1中的所有项自动创建列表
for item in line:
namefromthelist = []
namefromthelist.append()
创建名称为键、列表为值的词典:
dict = {}
list1 = ['mike', 'sam', 'paul', 'pam', 'lion']
for i in list1:
dict[i] = []
print(dict)
输出:
{'mike': [], 'lion': [], 'paul': [], 'sam': [], 'pam': []}
然后您可以这样使用它:
dict['mike'].append('blah')
print(dict['mike'])
fruits = ['banana', 'orange', 'apple']
for person in persons:
persons[person].append(fruits)
这看起来更像是一份字典的工作。类似这样的方法会奏效:
names = ['mike', 'sam', 'paul', 'pam', 'lion']
persons = dict(zip(names, [[]] * len(names)))
这就产生了:
>>> persons
{'mike': [], 'sam': [], 'paul': [], 'pam': [], 'lion': []}
>>>
现在,您可以使用以下内容填充每个列表:
dict['mike'].append('blah')
print(dict['mike'])
fruits = ['banana', 'orange', 'apple']
for person in persons:
persons[person].append(fruits)
我不推荐这种方法,你应该使用字典。然而,如果你坚持沿着这条路走下去,这就是你将如何达到你想要的结果
for name in list1:
globals()['{}list'.format(name)] = [name]
print(mikelist)
# ['mike']
print(pam)
# ['pamlist']
你为什么不改用字典呢?