列表索引必须是整数,而不是str,试图从列表的单个str中计算字母

时间:2018-11-27 19:28:43

标签: python list for-loop typeerror string-length

所以我有一份学校作业清单。

newEngland = ["Maine","New Hampshire","Vermont", "Rhode Island", 
"Massachusetts","Connecticut"]

我必须使用“ for”循环编写代码,以隔离列表中的每个元素并计算该元素中字母的数量。输出应该看起来像这样

In [70]: problem2_3(newEngland)
Maine has 5 letters.
New Hampshire has 13 letters.
Vermont has 7 letters.
Rhode Island has 12 letters.
Massachusetts has 13 letters.
Connecticut has 11 letters.

我编写的代码必须适用于其他任何要对其进行测试的列表,因此它不能特定于此列表

我的第一个想法是编写以下内容

def problem2_3(ne):
    for let in ne:
        print(len(ne[let]))
        print(ne[let],"has",len(ne[let]),"letters.")

使用此代码,我收到一个类型错误“列表索引必须是整数或切片,而不是str”

我玩过这些代码,但是我尝试的所有操作都返回相同的类型错误。我到python才几周,如果这是一个愚蠢的问题,抱歉。帮帮我!谢谢。

0 个答案:

没有答案