我有以下两个Python列表:
main_l = ['Temp_Farh', 'Surface', 'Heater_back', 'Front_Press',
'Lateral_Cels', 'Gauge_Finl','Gauge_Relay','Temp_Throw','Front_JL']
hlig = ['Temp', 'Lateral', 'Heater','Front']
如果元素包含hlig
中列出的字符串,我需要将它们从main_l
移到列表的末尾。在
main_l
的最终版本应如下所示:
我的尝试:
我首先尝试查找列表main_l
是否包含第二个列表hlig
中列出的子字符串的元素。我是这样做的:
`found` = [i for e in hlig for i in main_l if e in i]
found
是main_l
的子列表。问题是:现在我有了这个列表,我不知道如何选择不包含hlig
中的子字符串的元素。如果我可以这样做,那么我可以将它们添加到一个列表not_found
,然后我可以将它们连接成这样:not_found + found
-这样就可以得到我想要的了。在
问题:
有没有办法将匹配的元素移动到列表的末尾main_l
?在
我会重写你要写的:
那么解决方案显而易见:
^{pr2}$编辑:根据Sven Marnach的评论删除列表理解前后的方括号(对aviraldg的解决方案)
您可以使用每个元素是否包含来自hlig的字符串作为键对
main_l
进行排序:相关问题 更多 >
编程相关推荐