[英]Create (nested) List from two Lists in Python
您好我想從兩個Arrays創建一個Array,但我不想用append()或extend()創建這個新的Array。
輸入數組具有相同的行數和列數:
listone = [1,2,3]
listtwo = [4,5,6]
我們期望的結果:
mergedlist = [[1,4],[2,5],[3,6]]
它不能通過
mergedlist = listone.append(listtwo) or mergedlist = listone.extend(listtwo)
我想得到
mergedlist = [[1,4],[2,5],[3,6]]
如何獲得所需的輸出?
這是一個簡單的例子來理解,真正的一個有14個文件,35行和61個數組。
對於一維,答案是可以的,但是當你有列表數組時
listone = [[1,2,3],[1,2,3],[1,2,3]]
listtwo = [4,5,6]
我想得到
result = [[1,2,3,4],[1,2,3,5],[1,2,3,6]]
當我使用merged = map(list,zip(listone,listtwo))
My result is [[[1, 2, 3], 4], [[1, 2, 3], 5], [[1, 2, 3], 6]] that is Bad
使用內置的zip
功能。 這正是你想要的。 從python手冊:
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]
或者如果你想要一個列表列表,而不是一個元組列表,你可以使用帶有列表zip
:
>>> zipped = [list(t) for t in zip(x, y)]
>>> zipped
[[1, 4], [2, 5], [3, 6]]
嘗試:
listone = [1,2,3]
listtwo = [4,5,6]
merged = map(list, zip(listone, listtwo))
zip(listone, listtwo)
將返回元組列表。 由於您需要列表列表,因此需要將每個元組轉換為列表。 map(list, list_of_tuples)
調用就是這樣做的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.