我在下面有一个清单。我需要使用它来创建一个新的嵌套列表,其中只有子列表中的第一个元素和列表中的最后一个元素。
a=[[a,b,c],3]
结果应该是这样的
b=[[a,3],[b,3],[c,3]]
使用zip()
:
In [79]: a=[['a','b','c'],3]
In [80]: list(zip(a[0], [a[1]]*len(a[0])))
Out[80]: [('a', 3), ('b', 3), ('c', 3)]
或者:
In [83]: (a, b, c), num = a
In [84]: [(a, num), (b, num), (c, num)]
Out[84]: [('a', 3), ('b', 3), ('c', 3)]
或更一般的:
In [85]: lst, num = a
In [86]: from itertools import repeat
In [87]: list(zip(lst, repeat(num, len(lst))))
Out[87]: [('a', 3), ('b', 3), ('c', 3)]
另一种方法是使用嵌套列表理解:
In [15]: a
Out[15]: [['a', 'b', 'c'], [1, 2]]
In [16]: [(j, i) for i in a[1] for j in a[0]]
Out[16]: [('a', 1), ('b', 1), ('c', 1), ('a', 2), ('b', 2), ('c', 2)]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句