有没有更Pythonic的方法来做到这一点?
输入:
list1 = [['a',1],['b',2],['c',3],['d',4]]
list2 = [['e',5],['f',6],['g',7],['h',8]]
Run Code Online (Sandbox Code Playgroud)
期望的输出:
out = [['a',1],['e',5],['b',2],['f',6],['c',3],['g',7],['d',4] ,['h',8]]
Run Code Online (Sandbox Code Playgroud)
我已经做好了:
def mergePreserveOrder(*argv):
for arg in argv:
for arg2 in argv:
if(len(arg) != len(arg2)) :
print("arrays size do not match" + str(arg) + str(arg2))
return
output = []
for index in range (len(argv[0])):
for arg in argv:
output.append(arg[index])
return output
mergePreserveOrder (list1 ,list2 )
Run Code Online (Sandbox Code Playgroud)
您可以zip
与以下一起使用chain.from_iterable
:
list(chain.from_iterable(zip(list1, list2)))
Run Code Online (Sandbox Code Playgroud)
例子:
from itertools import chain
list1 = [['a',1],['b',2],['c',3],['d',4]]
list2 = [['e',5],['f',6],['g',7],['h',8]]
print(list(chain.from_iterable(zip(list1, list2))))
# [['a', 1], ['e', 5], ['b', 2], ['f', 6], ['c', 3], ['g', 7], ['d', 4], ['h', 8]]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
275 次 |
最近记录: |