首页 > 解决方案 > NameError: name 'e' is not defined, 如何计算正确

问题描述

  1. 我把句子分开了。
  2. 我想计算变量“s”中的字符“e”作为第二步。

我试过了s_list.count(e)s_list.count("e")还有很多其他的

代码:

s = "Ich lerne Python"

s_list = s.split() #Spaltung vom String
s_list.sort() #Sortierung

print(s_list)


s_list.count(e)
print(s_list)

['Ich', 'Python', 'lerne']
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-72-29d14ddb1793> in <module>()
      3 s_list.sort() #Sortierung
      4 print(s_list)
----> 5 s_list.count(e)
      6 print(s_list)

NameError: name 'e' is not defined

标签: pythonlistcount

解决方案


如果您有带有字符串的列表,那么您必须分别计算"e"每个字符串并求和值。

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)

推荐阅读