1樓:
其實把[[1, 1, 1, 1, 1, 1, 1, 1], [2, 2, 2, 2, 2, 2, 2, 2], [3, 3, 3, 3, 3, 3, 3, 3], [4, 4, 4, 4, 4, 4, 4, 4]]這個大list變成[1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4]這樣的小list;算是列表的一種降維。有個神奇的函式剛好可以滿足這個需求--------sum()
oldlist = [[1, 1, 1, 1, 1, 1, 1, 1], [2, 2, 2, 2, 2, 2, 2, 2], [3, 3, 3, 3, 3, 3, 3, 3], [4, 4, 4, 4, 4, 4, 4, 4]]
newlist = sum(oldlist ,)乙個sum就搞定了。
這是help(sum)的解釋。
2樓:
另乙個差不多的回答
3樓:
不要只看眼前的模式,想想怎麼處理普遍模式,如果小列表中再包含乙個列表要怎麼處理?
自然而然,想到用遞迴。
# -*- coding: utf-8 -*-def flatten(nums):
return res
if __name__ == '__main__':
nums_1 = [[1, 1, 1, 1, 1, 1, 1, 1], [2, 2, 2, 2, 2, 2, 2, 23, 3, 3, 3, 3, 3, 3, 3], [4, 4, 4, 4, 4, 4, 4, 4]]
nums_2 = [0, 1, [2, 2, [3, 4]]]print(flatten(nums_1))print(flatten(nums_2))
4樓:
import numpy as np
arr1 = [[1,2],[1,2]]
arr2 = list(np.array(arr1).flatten())
Python如何使乙個列表裡的元素兩兩相加,例如a 1,2,3,4 ,使裡面數字兩兩相加?
參考python cookbook 4.9章 排列組合的迭代 from itertools import combinationsa 1,2,3,4 result list for c in combinations a,2 也許 a 1,2,3,4 result foriina forjin a ...
python巢狀列表中,怎麼對滿足條件的進行分類合計?
夢魘 這裡有乙個演算法O N 複雜性 res tmp for x in lst 結果 In 133 res Out 133 orb 2 3 4 obx 2 3 4 orb 2 3 4 obx 1 2 3 obx 1 2 3 obx 1 2 3 方法二 你可以用itertools.groupby im...
Python怎麼讓乙個列表中的數字同時乘另乙個數 並生成新的列表?
盜藍 列表解析 a 1,2 3,4 5 b 10c i b foriina 新的列表,速度更快 函式式程式設計 高階函式 map a 1,2,3,4,5 b 10 c generator map lambda a a b,a 生成器,可迭代物件,可以比列表解析有更多更靈活的表達 c list c g...