我设计了一个模块,允许用户输入 10 个单词,然后按字母顺序排列并显示它们。仅使用排序函数会将大写单词放在第一位,所以我使用了排序(列表,键= str.lower)但输出仍然不正确。代码和错误如下:
def words_function():
words = [input("Enter 10 words, one at a time: ") for i in range(10)]
sorted(words, key=str.lower)
print("Alphabetized, your words are: ", words)
userSearch = input("What word would you like to search for?")
if userSearch in words:
print("Found!")
else:
print("Not Found!")
words_function()
它输出这个顺序:['Aardvark', 'coke', 'Desk', 'Zippy', 'zappy', 'Television', 'brotel', 'book', 'Dad', 'dog']
上次我学英语时,不是按字母顺序排列的 =p。我还需要在排序中添加或更改什么,以使其按正确的字母顺序显示,忽略单词是小写还是大写,只根据字母顺序排序?
土豚、书、妓院、可乐、爸爸、书 table 、狗、电视、活泼、活泼
最佳答案
sorted
返回排序后的列表。它不会就地修改列表。您必须将排序后的列表存储在某处
words = sorted(words, key=str.lower)
在 python 2.6 上
>>> words= ['Aardvark', 'coke', 'Desk', 'Zippy', 'zappy', 'Television', 'brothel', 'book', 'Dad', 'dog']
>>> sorted(words,key=str.lower)
['Aardvark', 'book', 'brothel', 'coke', 'Dad', 'Desk', 'dog', 'Television', 'zappy', 'Zippy']
>>> words
['Aardvark', 'coke', 'Desk', 'Zippy', 'zappy', 'Television', 'brothel', 'book', 'Dad', 'dog']
>>> words = sorted(words,key=str.lower)
>>> words
['Aardvark', 'book', 'brothel', 'coke', 'Dad', 'Desk', 'dog', 'Television', 'zappy', 'Zippy']
关于python - 使用 sort(list, key=str.lower) 进行不区分大小写的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20535495/