首页 > 解决方案 > 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

标签: pythonfunctionsortingjoin

解决方案


.join()是一个字符串方法,但在列表中使用,因此代码会引发异常,但join此处并不真正需要。

你在正确的轨道上set()。它只存储唯一的项目,因此创建一组输入并用小写字母计算交集(&)。对结果进行排序:

>>> import string
>>> s = 'Happy!'
>>> sorted(set(s.lower()) & set(string.ascii_lowercase))
['a', 'h', 'p', 'y']

推荐阅读