如果我有
[[[A1]],[[A2]],...]
和
[[[B1]],[[B2]],...],
,并且在操作后预期结果为
[[[A1,B1]],[[A2,B2]],...]
我尝试使用numpy将其转换为narray,但效果不佳
答案 0 :(得分:0)
您不必使用numpy
来执行此操作。您可以通过列表理解和zip
函数来做到这一点:
listA = [[['A1']],[['A2']],[['A3']]]
listB = [[['B1']],[['B2']],[['B3']]]
output = [[elemA[0] + elemB[0]] for elemA, elemB in zip(listA,listB)]
print(output)
输出:
[[['A1', 'B1']], [['A2', 'B2']], [['A3', 'B3']]]
或者您可以将map
函数与zip
一起使用:
output = list(map(lambda elem: elem[0] + elem[1], zip(listA,listB)))
答案 1 :(得分:0)
您可以尝试这样:
l1 = [[['A1']], [['A2']], [['A3']]]
l2 = [[['B1']], [['B2']], [['B3']]]
new = [[sum(i+j, [])] for i, j in zip(l1, l2)]
print(new)
答案 2 :(得分:0)
您可以将本机python函数用作:
def generate_list(letter='A', count=10):
result = []
for i in range(count):
item = "{}{}".format(letter, i)
result.append([[item]])
return result
first_list = generate_list()
second_list = generate_list(letter='B')
result = []
for first, second in zip(first_list, second_list):
result.append([[first[0][0], second[0][0]]])
或
def generate_list(letter='A', count=10):
result = []
for i in range(count):
item = "{}{}".format(letter, i)
result.append([[item]])
return result
first_list = generate_list()
second_list = generate_list(letter='B')
result = list(map(lambda first, second:
[[first[0][0], second[0][0]]],
first_list, second_list))