我想比较两个字符串列表,找到公共字符串并将公共字符串存储在新列表中。
例如:
my_list1=[' 4, -40., -12.\n',
' 5, -40., -15.\n',
' 6, -40., -18.\n',
' 7, -40., -21.\n',
' 8, -40., -24.\n',
' 9, -40., -27.\n',
' 14, -30., -30.\n',
' 15, -28., -30.\n']
my_list2=['49',
'50',
'51',
'10',
'53',
'54',
'55',
'56',
'57',
'58',
'59',
'60',
'6162',
'15',
'64',
'65',
'66']
我想要做的是将my_list2的每个字符串与my_list1中字符串的开头进行比较。
例如my_list1
包含来自'15'
中my_list2
的{{1}},所以我想要一个新列表来保存所有常用字符串
答案 0 :(得分:3)
您可以使用str.startswith
,它可以将一组元素作为参数。 左侧条带第一个列表中的每个项目,并检查项目是否以第二个列表中的任何字符串开头:
t = tuple(my_list2)
lst = [x for x in my_list1 if x.lstrip().startswith(t)]
print lst
# [' 15, -28., -30.\n']
答案 1 :(得分:0)
my_list1_new = [i.strip().split(",")[0] for i in my_list1 ]
for i in my_list2:
if i in my_list1_new:
print(my_list1[my_list1_new.index(i)])