我理解如何索引给定列表中的单词,但如果给定一个列表和一个不在列表中的单词,如何找到新单词的索引位置而不添加或插入新单词到排序列出?
例如: def find_insert_position: a_list = ['鸟','狗','鳄鱼'] new_animal ='牛'
如果不改变列表,我如何确定在排序列表中插入新单词的位置?因此,如果您输入新单词,则列表将按字母顺序进行统计。请记住,这是一个给定的列表和单词,所以我不会事先知道任何单词。我正在使用Python3。
答案 0 :(得分:0)
将变量计数器设置为0 循环遍历单词列表中的每个项目,并将列表中的每个单词与给定列表进行比较 如果给定的单词大于列表中的项目,则递增计数器
因此,当您不在循环中时,计数器值就是您要查找的索引。
您可以将其转换为代码。
答案 1 :(得分:0)
如果可以在不改变原始列表的情况下将单词添加到另一个 ,则可以尝试:
def find_insert_position(lst, word):
new_lst = lst[:] # make a copy of the list so you don't modify the original
new_lst.append(word) # add word to lst
sorted_lst = sorted(new_lst)
return sorted_lst.index(word) # return 0-based position of word in sorted list
a_list = ['Bird', 'Dog', 'Alligator']
new_animal = 'Cow'
print(find_insert_position(a_list, new_animal))