首页 > 解决方案 > Python len() 函数未返回原始长度,因为我的映射列表包含一些重复项

问题描述

scores = list(set(map(int, input().split())))
    l = len(scores)
    print(l)

输入给定

100 100 50 40 40 20 10

输出

5

问题

输出应该是 7 但为什么是 5?

标签: pythonpython-3.xlist

解决方案


len() 函数返回结果的原因是 5,因为当您使用 set() 时,它会删除重复条目,因此在您的情况下,它将 40 40 和 100 100 作为一个条目来避免这种情况,您可以简单地使用 list() 而无需集合()

scores = list(map(int, input().split()))
l = len(scores)
print(l)

或者

*scores, = map(int, input().split())
l = len(scores)
print(l)

推荐阅读