簡體   English   中英

Python lambda 語法

[英]Python lambda syntax

誰能解釋 lambda 中的語法? 我沒有得到 x 部分的索引。

L=[(19,1),(3,5),(9,2),(2,7),(13,1),(12,8),(5,2),(0,1),(9,4),(17,1),(8,2)]

L2=list(zip(L,range(len(L))))

L3=sorted(L2,key=lambda x:(x[0][1],-x[1]))
print(L3)
[y[0] for y in L3]

不確定您要在這里完成什么,但 L2 中的每個元素都是((x, y) z)形式的元組(x、y 和 z 是整數)。 這就是在sorted()的第二個參數中傳遞給 function 的內容(即 x 的值“看起來像”)。 所以,lambda 返回

x[0][1] = y # second element of inner tuple
x[1] = z # non-tuple second element of outer tuple
return (y, -z)

暫無
暫無

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

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