您好我有以下两个名单:
list1 = [[(10.0, 10.0, 0.0), (90.0, 10.0, 0.0), (90.0, 90.0, 0.0), (10.0, 90.0, 0.0)]]
list2 = [[(15.0, 7.0, 0.0), (40.0, 15.0, 0.0), (20.0, 30.0, 0.0), (11.0, 67.0, 0.0)]]
如何合并它们以便显示:
10.0, 10.0, 0.0, 15.0, 7.0, 0.0
90.0, 10.0, 0.0, 40.0, 15.0, 0.0
90.0, 90.0, 0.0, 20.0, 30.0, 0.0
10.0, 90.0, 0.0, 11.0, 67.0, 0.0
如果尝试了不同的解决方案,但总是以错误或错误的表示结束。是否还有一种方法可以分别对待每一个元素?也许有索引?
答案 0 :(得分:1)
使用numpy
模块,内置zip()
和itertools.chain.from_iterable()
个功能:
import itertools, numpy as np
list1 = [[(10.0, 10.0, 0.0), (90.0, 10.0, 0.0), (90.0, 90.0, 0.0), (10.0, 90.0, 0.0)]]
list2 = [[(15.0, 7.0, 0.0), (40.0, 15.0, 0.0), (20.0, 30.0, 0.0), (11.0, 67.0, 0.0)]]
chain = list(list(itertools.chain.from_iterable(i)) for i in zip(list1[0], list2[0]))
arr = np.array(chain, dtype=float)
print(arr)
输出:
[[ 10. 10. 0. 15. 7. 0.]
[ 90. 10. 0. 40. 15. 0.]
[ 90. 90. 0. 20. 30. 0.]
[ 10. 90. 0. 11. 67. 0.]]
现在,您可以“分别处理每个元素”。
假设我们希望从最后行中获取 4 值:
print(arr[3,3]) # 11.0