问答详情
源自:7-7 Python操作dict的其他方法

如果想要输出所有元素的个数要怎么写呢?

Alice、Bob、Candy三个都是dict中的元素,它们都是一个带3各元素的列表,那么期望结果是输出9个元素,该怎么写呢?

提问者:慕慕尼黑黑 2021-06-12 13:41

个回答

  • 慕慕尼黑黑
    2021-06-12 14:07:55

    研究了一下可以这样写:

    d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66, 55], 'Candy': [88, 75, 90, 89, 80]}
    keys = d.keys()
    values = d.values()
    All = 0
    for i in values:
        print("每个元素的长度是:" + str(len(i)))
        All = len(i) + All
    print("全部元素个数为:" + str(All))
    print("dictionary的长度是:"+str(len(keys)))
    for i in keys:
        print("dictionary中的元素有:"+str(i))
    for key, values in d.items():
        print(key, values)

    结果是:

    每个元素的长度是:3
    每个元素的长度是:4
    每个元素的长度是:5
    全部元素个数为:12
    dictionary的长度是:3
    dictionary中的元素有:Alice
    dictionary中的元素有:Bob
    dictionary中的元素有:Candy
    Alice [50, 61, 66]
    Bob [80, 61, 66, 55]
    Candy [88, 75, 90, 89, 80]

    但是有一个问题,如果把输出长度那一块for代码移到最后就会报错:File "E:/PythonCode/text1/mooc-text.py", line 11, in <module>
        print("每个元素的长度是:" + str(len(i)))
    TypeError: object of type 'int' has no len()