[英]python - combinig two unequal lists and create a dictionary
你能让我知道我该怎么做吗
a = ['x']
b = ['y', 'z']
我想结合以上两个列表并创建如下的字典
c = {'x': ['y', 'z']}
我尝试下面的代码,但没有用
from itertools import cycle
c = dict(zip(a, cycle(b)))
输出:
c = {'x': 'y'}
a
只包含一个键? 如果是这样,请直接创建它:
a = ['x']
b = ['y', 'z']
d = {a[0]: b}
print(d)
您确实需要提供更多详细信息...
如果您要逐步浏览b
对,则可以:
>>> a = ['x']
>>> b = ['y', 'z']
>>> x = iter(b)
>>> dict(zip(a, zip(x, x)))
{'x': ('y', 'z')}
但是len(a)
必须等于len(b)//2
,否则您可以循环通过b
:
>>> import itertools as it
>>> a = ['x', 'y', 'z']
>>> b = ['y', 'z']
>>> x = it.cycle(b)
>>> dict(zip(a, zip(x, x)))
{'x': ('y', 'z'), 'y': ('y', 'z'), 'z': ('y', 'z')}
或与多对b
:
>>> a = ['x', 'y', 'z']
>>> b = ['a', 'b', 'c', 'd']
>>> x = it.cycle(b)
>>> dict(zip(a, zip(x, x)))
{'x': ('a', 'b'), 'y': ('c', 'd'), 'z': ('a', 'b')}
这似乎很好用:
a = ['x']
b = ['y','z']
c = dict(a=b)
print(c)
您是否有理由为Python内置的功能导入周期?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.