簡體   English   中英

從Python中的兩個列表創建(嵌套)列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM