Joe*_*Joe 0 python dictionary list
我有2个清单.一个看起来像
['jim', 'bob', 'mike', 'kim', 'Alex']
Run Code Online (Sandbox Code Playgroud)
而另一个看起来像
['YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'YES', 'NO', 'NO', 'NO', 'NO', 'NO', 'NO', 'NO', 'NO', 'YES', 'NO', 'YES', 'NO']
Run Code Online (Sandbox Code Playgroud)
列表1中的每个名称对应于列表2中的前6个项目.因此,jim ='YES','YES','YES','YES','YES','YES'和Alex ='NO','NO ','是','不','是','不'.有没有办法将这两个列表合并成一个字典?
我打算写一个像这样的函数
def people():
List1[0]=List2[0:6]
Run Code Online (Sandbox Code Playgroud)
但那会改变List1.我试过了
dict(List1[0]: List2[0:6])
Run Code Online (Sandbox Code Playgroud)
但得到一个错误
你可以使用dict理解:
{x: l2[6*i:6*(i+1)] for i,x in enumerate(l1)}
如果你想要一个可怕的itertools版本,有人必须迟早发布,它看起来像dict(zip(l1, itertools.izip_longest(*[iter(l2)]*6))) ...... blergh.