python - Python len() 函数未返回原始长度,因为我的映射列表包含一些重复项
问题描述
scores = list(set(map(int, input().split())))
l = len(scores)
print(l)
输入给定
100 100 50 40 40 20 10
输出
5
问题
输出应该是 7 但为什么是 5?
解决方案
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)
推荐阅读
- python-3.x - 对聚合数据帧的数据帧字典执行操作的优化方式
- bleu - BLEU - 低阶错误 N-gram 重叠
- swift - Swift 协议或类似于 EqualityComparer 的抽象类
- php - 从 DB 获取时间数据 - Laravel
- bluetooth - 不遵循有关 UUID 的蓝牙低能耗标准是否违法
- python - 将嵌套列表更改为多个单个列表
- c# - 在指定秒后重复一个动作指定时间WindowForm C#?
- c++ - x86 上 std::atomic_thread_fence(std::memory_order_seq_cst) 的实现,没有额外的性能损失
- nginx - 如何在 Kubernetes Nginx Ingress Controller 中将 Nginx IP 附加到 X-Forwarded-For
- javascript - 在 React-Native Typescript 项目中包含 JS 文件