【发布时间】:2021-06-10 21:56:29
【问题描述】:
我得到了以下任务:
为给定的字符串列表编写一个函数,该函数返回一个排序列表,其中所有字符串都以字符
x开头(定义两个列表)
我卡在这里:
set_words_list = ["argentinax", "football", "ss", "poxland", "axmerica"]
set_words_list.sort(key=str("x"))
print(set_words_list)
然后弹出错误:
Traceback (most recent call last):
File "/5SortList/main.py", line 7, in <module>
set_words_list.sort(key=str("x"))
TypeError: 'str' object is not callable
这是我第一次用 Python 编码,我不知道从那里去哪里。 最重要的是,根据任务需要使用 2 个列表,但我不知道它对我有什么帮助。
【问题讨论】:
-
key必须是在排序时返回要比较的部分元素的函数。 -
您的列表中没有以“x”开头的字符串。否则你可以使用:
set_words_list.sort(key=lambda s:(s[:1]!="x",s)) -
目前尚不清楚“返回所有字符串以字符 x 开头的排序列表”是什么意思(特别是因为列表中没有单词以 x 开头)。你可以为
set_words_list显示你想要的输出吗?
标签: python string list sorting