假设我有一个来自哈利波特魔法生物的按字母顺序排列的列表,需要找出列表中的新发现属于哪个(基于索引)。经过比我不想承认更多的思考,我想出了以下内容:获取字符串属于按字母顺序排列的字符串列表的索引的最佳方法?
def find_insert_position(name, alpha_list):
pos = 0
end = len(alpha_list)
for n in range(len(name)):
for i in range(pos, end):
if (pos != end):
if ((name[n].lower() > alpha_list[i - 1][n].lower()) and (name[n].lower() <= alpha_list[i][n].lower())):
pos == i
if ((name[n].lower() < alpha_list[i + 1][n].lower()) and (name[n].lower() >= alpha_list[i][n].lower())):
end == i
elif (pos == end):
return pos
我敢肯定有更好的方法去了解这一点,我也相当肯定上面甚至没有正常工作。有什么建议?
假设 名= '匈牙利树蜂' 和 alpha_list = [ 'Acromantula', '蛇怪', '骏鹰', 'Merperson', '蟾蜍', '巨魔', '夜骐', '精灵'] 。 所以这个函数会返回整数3,表示索引名称属于alpha_list。
你只是想知道的位置,或只是保持列表的字母顺序? – Jeremy
知道它所属的位置。这个函数实际上并不会改变我遵循的列表 – Maccus