簡體   English   中英

從地圖解壓縮值后分配變量

[英]assigning variable after unpacking values from the map

通過此答案,我了解了如何使用map字符串中任何字符的出現次數,

計算字符串Python中的元音

這是我的代碼,用於計算字符串中任何元音的出現次數,

name = "maverick dean"
vowels = 'aeiou'
x = list(map(name.lower().count, 'aeiou'))

如您所見,我使用list將map每個值都放在list

給出這個輸出,

[2, 2, 1, 0, 0]

我的願望輸出是

[ "a:2", "e:2", "i:1", "o:0", "u:0" ]

現在,我了解可以使用for循環來執行此操作,但是還有其他方法可以直接映射x輸出,以便它與實際的元音一起顯示嗎?

您可以為此使用lambda函數

x = list(map(lambda v: "{}:{}".format(v, name.lower().count(v)), vowels))
print(x)
# ['a:2', 'e:2', 'i:1', 'o:0', 'u:0']

您可以使用列表理解

x = ["%s:%d" % (letter, name.lower().count(letter)) for letter in vowels]

或者您甚至可以使用zip壓縮到原始列表,即

x = ["%s:%d" % (l,c) for l, c in zip(vowels, map(name.lower().count, vowels))]

暫無
暫無

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

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