簡體   English   中英

Python - reduce,二維數組

[英]Python - reduce ,two dimensional array

我試圖用降低二維數組其中包括coordinates.I的沒有很多的經驗。我減少有一個函數調用FUNC,我有這個功能應用到陣列中的每個元素。 例如:

func=lambda x:x-1
array=[[5,9],[10,3]]
reduce (lambda x,y: ...,array)
OUTPUT should be -> [[4,8],[9,2]]

我只是將每個元素遞減1。 謝謝。

reduce使用兩個參數的函數並將其累積地應用於序列的元素 - 但是你想要做的就是從每個子列表的每個元素中減去一個,所以我不確定你為什么要在這里使用reduce

我建議這個列表理解:

>>> lst = [[5,9],[10,3]]
>>> [[x-1 for x in sub] for sub in lst]
[[4, 8], [9, 2]]

或者如果你想使用你的lambda函數:

>>> [map(lambda x: x-1, sub) for sub in lst]
[[4, 8], [9, 2]]

不過,我發現第一個更具可讀性。

您不需要使用reduce來減少每個元素的值。
嘗試使用地圖

arr = map( lambda x:[x[0]-1,x[1]-1],arr)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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