-1
可以說我有2所列出:找到兩個列表的索引明智的最大值
L1 = [2,4,1,6]
L2 = [1,5,2,3]
輸出應該是包含在L1或L2發現基於自己的立場上最大號的新名單。
輸出示例:
L3 = [2, 5, 2, 6]
怎麼辦呢?
可以說我有2所列出:找到兩個列表的索引明智的最大值
L1 = [2,4,1,6]
L2 = [1,5,2,3]
輸出應該是包含在L1或L2發現基於自己的立場上最大號的新名單。
輸出示例:
L3 = [2, 5, 2, 6]
怎麼辦呢?
一個可能的解決方案是壓縮您的列表,然後在施加最大的操作元素,明智的,它可以在Python通過呼叫通過列表解析來獲得功能map
L1 = [2,4,1,6]
L2 = [1,5,2,3]
L3 = map(max, zip(L1, L2)) # python2
L3 = list(map(max, zip(L1, L2))) # python3
或更Python
L3 = [max(l1, l2) for l1, l2 in zip(L1, L2)]
使用拆包操作
或位較短的版本
L3 = [max(*l) for l in zip(L1, L2)]
這是一個快速修復,在一組迭代中!
list_a = [2,4,1,6]
list_b = [1,5,2,3]
max_list = [value if list_b[index]<value else list_b[index] for index, value in enumerate(list_a)]
print(max_list)
顯示:[2, 5, 2, 6]
你如何試圖做到這一點,這有什麼問題呢? – jonrsharpe
輸入?或輸出?你試過的示例代碼和它不適合你的原因如何? – Vorsprung
我將以[我如何在Python中並行遍歷兩個列表?](http://stackoverflow.com/q/1663807)開始您的工作。添加一個[list comprehension](https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions)和'max()'函數,你就可以在一行中找到解決方案。 –