为每个项目创建变量unique_val
不是一个好主意。与其对所有内容进行硬编码,不如使用带有键的dict,list_1
因为它可以处理任意数量的变量。
>>> from collections import defaultdict
>>> dic = defaultdict(list)
>>> nested_list = [['name1',1],['name2',1],['name3',3],['name4',2],['name5',2],['name6',3]]
>>> unique_val = [1,2,3] #better make this a set to get O(1) lookup
>>> for v,k in nested_list:
if k in unique_val:
dic['list_'+str(k)].append(v)
#now access those lists:
>>> dic['list_1']
['name1', 'name2']
>>> dic['list_2']
['name4', 'name5']
>>> dic['list_3']
['name3', 'name6']
如果您有一个 4 ,unique_val
那么您可能希望list_4
是一个空列表,这很容易由 a 处理defaultdict
:
>>> dic['list_4']
[]