python - 如何从列表中消除重复项?
问题描述
我有这个代码:
def lottery(s):
return ''.join(x for x in s if x.isdigit()) or "One more run!"
现在,当您打印出 s 时,它只打印数字,当只有字母时,它打印“再跑一次”。到目前为止一切都很好,尽管我也希望它不打印重复项。这意味着当我把print(lottery(4443))
它打印出来时,它只打印出 1 个,而不是 3 个。
解决方案
尝试set()
消除重复项(无序)并返回列表sorted
def lottery(s):
return ''.join(x for x in sorted(set(s)) if x.isdigit()) or "One more run!"
lottery('435435')
订单太关键?
def lottery(s):
return ''.join(x for x in dict.fromkeys(s) if x.isdigit()) or "One more run!"
lottery('435435')
推荐阅读
- vue.js - 在 vue 子组件中建立初始值
- azure - 删除 Azure 恢复服务保管库时收到错误
- apache-kafka-streams - Kafka Streams Processor API 按大小和时间进行批处理
- c# - 在 MacOS 上构建 Unity3D 问题
- java - 使用外部方法更改设置后如何更新设置显示
- c# - 从一个字典和第二个字典中选择
- pdf - Win 10 上的 Adobe PDF Ifilter 11 和 9 无法正常工作
- angular - Angular登录令牌并同步获取用户数据
- security - 我的 redux 状态变量是否容易被愤怒的员工提取?没有 api 调用或 AsyncStorage
- c++ - 模板推导指南可以调用 constexpr 函数吗?