繁体   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