可以使用Python的sorted()函数,并将key参数设置为一个函数来实现该操作。
假设我们有两个列表:list1和list2,我们希望按照list2中子字符串的索引对list1中的项进行排序。这里有一个实现代码示例:
list1 = ['apple', 'orange', 'banana', 'pear']
list2 = ['na', 'ra', 'an', 'ge']
def sort_list_by_substr_index(lst, substr_lst):
def get_sub_index(item):
for substr in substr_lst:
index = item.find(substr)
if index != -1:
return index
return len(item)
return sorted(lst, key=get_sub_index)
sorted_list = sort_list_by_substr_index(list1, list2)
print(sorted_list)
此代码定义了一个排序函数sort_list_by_substr_index(),该函数接收两个参数lst和substr_lst。get_sub_index()函数用于获取项中子字符串的索引,如果没有找到匹配项,则返回项的长度。
在sort_list_by_substr_index()函数中,排序列表lst使用sorted()函数排序,并将key参数设置为get_sub_index()函数。返回排序后的列表sorted_list。在上述示例中,输出将是['pear', 'orange', 'banana', 'apple'],按照list2中子字符串的索引对list1中的项进行排序。