Python 名称错误:名称';e';未定义,如何正确计数 我把句子分开了 第二步,我想计算变量“s”中的字符“e”

Python 名称错误:名称';e';未定义,如何正确计数 我把句子分开了 第二步,我想计算变量“s”中的字符“e”,python,list,count,Python,List,Count,我试过s_list.count(e),s_list.count(“e”)和许多其他方法 代码: --------------------------------------------------------------------------- NameError回溯(最近一次呼叫上次) 在() 3 s#u list.sort()#Sortierung 4份打印件(s_列表) ---->5 s_列表计数(e) 6打印(s_列表) NameError:未定义名称“e” 为什么不干脆s.count

我试过
s_list.count(e)
s_list.count(“e”)
和许多其他方法

代码:

---------------------------------------------------------------------------
NameError回溯(最近一次呼叫上次)
在()
3 s#u list.sort()#Sortierung
4份打印件(s_列表)
---->5 s_列表计数(e)
6打印(s_列表)
NameError:未定义名称“e”

为什么不干脆
s.count(“e”)
。可以直接对字符串使用count方法。您遇到的问题是,
e
是一个变量,您希望搜索
“e”
,即字母“e”,但显然您已经尝试了不同的方法

但是,在应用split方法后,您将有一个字符串列表,在其中搜索字母“e”。您找不到任何,因为您的列表中没有“e”项,但看起来如下:
['Ich',lerne',Python']
。拆分不是在每个字母后拆分,而是在空白处拆分

如果要查看拆分的字符串,可以执行以下操作:

count_e = 0
for word in s_list:
    count_e = count_e + word.count("e")
或在列表理解中:

count_e = sum([word.count("e") for word in s_list])

计算字符串中的特定字符有多种方法,下面是两种方法,您可以使用,我建议使用方法2,因为它更简单,而且不需要循环

方法1-用于循环

# initializing string  
test_str = "Ich lerne Python"

# counting e  
count = 0

for i in test_str: 
    if i == 'e': 
        count = count + 1
方法2-计数

# count() 

# initializing string  
test_str = "Ich lerne Python"

# using count() to get count  
# counting e  
counter = test_str.count('e') 

# printing result  
print ("Count of e in Ich lerne Python is : " +  str(counter))

如果列表中有字符串,则必须对每个字符串分别计数和求和

s_list = ['Ich', 'Python', 'lerne']

result = 0

for word in s_list:
    result = result + word.count("e")

print(result)
列表理解也是如此

s_list = ['Ich', 'Python', 'lerne']

result = sum(word.count("e") for word in s_list)

print(result)

顺便说一句:你可以在分割之前先数一数“e”

s = "Ich lerne Python"

result = s.count("e")

print(result)

如果列表中有单词,则必须分别计算每个单词中的
“e”
,然后对所有值求和。您需要使用
来执行此操作。或者在拆分之前先计算“e”。
s_list = ['Ich', 'Python', 'lerne']

result = sum(word.count("e") for word in s_list)

print(result)
s = "Ich lerne Python"

result = s.count("e")

print(result)