Python数组元素索引调整:将指定元素移至数组首位
解决Python列表元素调整顺序的问题
没问题,这事儿其实挺容易实现的,我给你两种实用的方法,都能满足你的需求:
方法一:移除后插入(修改原列表)
这种方法直接操作原列表,先把目标元素移出来,再放到最前面:
original_list = ['75920-c1-u1 .pdf', '75920-c1-u2 .pdf', '75920-c1-u3 .pdf', '75920-c1-u4 .pdf', '75920-c1-u5 .pdf' , '75920-c1.pdf'] target_file = '75920-c1.pdf' # 移除原列表中的目标元素 original_list.remove(target_file) # 把目标元素插入到索引0的位置 original_list.insert(0, target_file) print(original_list)
运行后输出的结果就是你想要的顺序:
['75920-c1.pdf', '75920-c1-u1 .pdf', '75920-c1-u2 .pdf', '75920-c1-u3 .pdf', '75920-c1-u4 .pdf', '75920-c1-u5 .pdf']
方法二:列表拼接(生成新列表)
如果你不想修改原列表,用一行代码就能生成新的目标列表:
original_list = ['75920-c1-u1 .pdf', '75920-c1-u2 .pdf', '75920-c1-u3 .pdf', '75920-c1-u4 .pdf', '75920-c1-u5 .pdf' , '75920-c1.pdf'] target_file = '75920-c1.pdf' new_list = [target_file] + [item for item in original_list if item != target_file] print(new_list)
这个方法的逻辑是:先把目标元素作为新列表的第一个元素,再通过列表推导式把原列表中除目标元素外的所有元素按原有顺序追加进来,完美保留你要的顺序。
小提醒
如果你的列表里可能存在多个和target_file相同的元素,方法一只会移除第一个匹配项,方法二则会排除所有匹配项,只保留你放在最前面的那一个。根据你的实际场景选择就好~
内容的提问来源于stack exchange,提问作者CoderCoder42
相关产品推荐
相关产品推荐

