簡體   English   中英

如何使用列表理解返回元組並從列表中計數

[英]How to return tuples and count from list using list comprehension

我有一個函數,它使用列表推導以大寫形式返回列表元素,並對每個元素進行計數。

def wordlengths(mywords):
    upperword = [word.upper() for word in mywords]
    lenword = [len(i) for i in mywords]
    return upperword, lenword
print(wordlengths(["The", "quick", "brown", "fox"]))

返回:

(['THE', 'QUICK', 'BROWN', 'FOX'], [3, 5, 5, 3])

但我需要它返回這樣的成對元組:

[("THE", 3), ("QUICK", 5), ("BROWN", 5), ("FOX", 3)]

我嘗試使用zip()方法沒有成功。 我該怎么做呢?

您可以使用zip()

def wordlengths(mywords):
    upperword = [word.upper() for word in mywords]
    lenword = [len(i) for i in mywords]
    return list(zip(upperword, lenword))

但是,為什么不一次構造列表:

def wordlengths(mywords):
    return [(word.upper(), len(word)) for word in mywords]

暫無
暫無

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

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