[英]assigning variable after unpacking values from the map
通過此答案,我了解了如何使用map
字符串中任何字符的出現次數,
這是我的代碼,用於計算字符串中任何元音的出現次數,
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.