Python len()函数不返回原始长度,因为我的映射列表包含一些重复项 输入

Python len()函数不返回原始长度,因为我的映射列表包含一些重复项 输入,python,python-3.x,list,Python,Python 3.x,List,100 100 50 40 20 10 输出 5 问题: 输出应为7,但为什么为5?不使用set不使用set scores = list(set(map(int, input().split()))) l = len(scores) print(l) len()函数返回结果的原因是5,因为当您使用set()时,它会删除重复的条目,因此在您的例子中,它将40 40和100 100作为一个条目来计算,以避免出现这种情况,您只需使用list()而不使用set() 或 你为什么用set

100 100 50 40 20 10

输出 5

问题:
输出应为7,但为什么为5?

不使用set不使用set

scores = list(set(map(int, input().split())))
    l = len(scores)
    print(l)
len()函数返回结果的原因是5,因为当您使用set()时,它会删除重复的条目,因此在您的例子中,它将40 40和100 100作为一个条目来计算,以避免出现这种情况,您只需使用list()而不使用set()


你为什么用set?为什么你认为长度应该是7?集合中只有5个项目,您可以从该集合中创建一个列表,因此该列表将有5个项目..您将从阅读中受益。通过调用set()可以删除重复项,在本例中为“100”和“40”,留下5个数字“集合”的定义它没有重复的值…第二个块中的第一行是不合法的。如果你想要一个
列表
,你需要括号,
scores=[*map(int,input().split())]
或者你需要另一边的
*
和逗号,
*scores,=map(int,input().split())
scores = list(map(int, input().split()))
    l = len(scores)
   print(l)
scores = list(map(int, input().split()))
l = len(scores)
print(l)
*scores, = map(int, input().split())
l = len(scores)
print(l)