为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

1 回答

研究了一下可以这样写:

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()

1 回复 有任何疑惑可以回复我~
#1

qq_Iamovercome_0

如果把输出长度那一块for代码移到最后 你的这一段代码: for key, values in d.items(): print(key, values) for循环后 最终你的values是 [88, 75, 90, 89, 80] 然后才进行: for i in values: print("每个元素的长度是:" + str(len(i))) All = len(i) + All 这样你取的i全是[88, 75, 90, 89, 80]里面的数字 这就是为什么你的报错中提示 int类型没有求长度len()
2021-07-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信