python - python - 如何使用join方法和sort方法
问题描述
我的目的是将输入作为字符串并返回该字符串的小写字母列表,不重复,不使用标点符号,按字母顺序排列。例如,输入“快乐!” 会得到 ['a','h','p','y']。我尝试使用 join 函数来摆脱我的标点符号,但不知何故它不起作用。有人知道为什么吗?另外, sort.() 可以对字母进行排序吗?我是否以正确的方式使用它?谢谢!
def split(a):
a.lower()
return [char for char in a]
def f(a):
i=split(a)
s=set(i)
l=list(s)
v=l.join(u for u in l if u not in ("?", ".", ";", ":", "!"))
v.sort()
return v
解决方案
.join()
是一个字符串方法,但在列表中使用,因此代码会引发异常,但join
此处并不真正需要。
你在正确的轨道上set()
。它只存储唯一的项目,因此创建一组输入并用小写字母计算交集(&)。对结果进行排序:
>>> import string
>>> s = 'Happy!'
>>> sorted(set(s.lower()) & set(string.ascii_lowercase))
['a', 'h', 'p', 'y']
推荐阅读
- javascript - 联系表格 7 重定向代码未重定向
- dax - 如何查找相关行是否包含特定值
- angular - 为什么 FormData 没有被发送到 Angular 8 中的端点?
- node.js - 在 Bazel monorepo 中解决本地 NodeJS 依赖项
- react-native - 如何将 react-native-firebase 添加到现有的 react-native 应用程序?
- vuejs2 - 我安装了timeline-vue,但使用它时出错
- java - 将详细 jvm 的输出重定向到特定文件
- amazon-web-services - 在 AWS 上手动创建持久卷
- php - 如何更新laravel表中的最后一行?
- spring - Spring Cloud Producer 异常 - java.lang.IllegalStateException: Producer 关闭后无法执行操作