所以我试图对给定列表进行字符计数。
a = ["farshad", "ghassemi?d", "女士", "?雷达?", "持续时间", "包含"]
我的预期输出是:
farshad contains 2 a
这样的情况还在继续......
我的代码是:
def charCount():
a = ["farshad", "ghassemi?d", "madam", "?radar?", "duration", "con?tained"]
for word in a:
for letter in word:
x = word.count("a")
print(word, "contains", x, "a")
for word in a:
for letter in word:
x = word.count("d")
print(word, "contains", x, "d")
charCount()
我试图在一个 for 循环中完成这一切,例如 A-Z ....
感谢您的帮助:D
最佳答案
您可以通过 2 个 for 循环来完成此操作。 (我假设这个问题意味着 1 个单独的 for 循环并允许嵌套 for 循环)这就是我的做法:
import string
def charCount():
a = ["farshad", "ghassemi?d", "madam", "?radar?", "duration", "con?tained"]
for word in a:
for i in string.ascii_lowercase:
x = word.lower().count(i)
print(word, "contains", x, i)
charCount()
您所需要做的就是循环遍历每个字符。 string.ascii_lowercase
包含每个小写字母,所以我使用了它。然后,我们在 word.lower()
中获取 i 的计数。 word.lower()
将单词转换为小写,使其也计入大写。
如果您想进一步缩短它,您可以像这样更改内部 for 循环:
def charCount():
a = ["farshad", "ghassemi?d", "madam", "?radar?", "duration", "con?tained"]
for word in a:
for i in string.ascii_lowercase: print(word, "contains", word.lower().count(i), i)
关于python - 有什么方法可以循环遍历 a-z 而不是编写多个 for 循环语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66955608/