代码之家  ›  专栏  ›  技术社区  ›  12666727b9

如何获取对象中包含的每个项目的单个字符数

  •  -2
  • 12666727b9  · 技术社区  · 4 年前

    我正在尝试使用for循环来计算此对象中的字符数:

    S = "Hello World"
    d = S.split()
    d
    ['Hello', 'World']
    
    for i in (0,len(d)):
        print(len(d[i]))
    

    然而,我得到了以下错误。

    Traceback (most recent call last):
      File "<pyshell#26>", line 2, in <module>
        print(len(n[i]))
    IndexError: list index out of range
    

    有人能解释一下这个错误是从哪里来的,以及如何可能地修复它吗?

    1 回复  |  直到 4 年前
        1
  •  2
  •   BrokenBenchmark Miles Budnek    4 年前

    len() 报告列表的长度——如果列表中有1个项目,则其长度为1——即 指数 该元素的值为0。

    len(['one element']) == 1
    

    索引是基于0的:

     k = ['one element']
     k[0] == "one element"
    

    你使用一个元组 (0, len(d)) : len(d) 1比最大的指数大吗 你的 列表,因为索引从0开始。

    for i in (0,len(d)):    # (0,2)
        print(len(d[i]))    # d[2] is out of index
    

    因此: list index out of range

    使用 range(len(d)) 相反——甚至更好:

    for element in d:
        print(len(element))   # to print all