python - Python 比较两个字符串列表

标签 python string list comparison

我想比较两个字符串列表,找到公共(public)字符串并将公共(public)字符串存储在新列表中。

例如:

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 包含 my_list2 中的 '15',位于 [ '15, -28., -30。\n '] 所以我想要一个新列表来保存所有常见字符串

最佳答案

您可以使用str.startswith它可以将项目元组作为参数。 左剥离第一个列表中的每个项目,并检查该项目是否第二个列表中的任何字符串开头:

t = tuple(my_list2)
lst = [x for x in my_list1 if x.lstrip().startswith(t)]
print lst
# ['     15,         -28.,         -30.\n']

关于python - Python 比较两个字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44904633/

相关文章:

python - 调用方法而不期望响应

JavaScript 正则表达式(字符串应仅包含字母、空格、连字符)

在游戏中将输入转换为大写

c - 理解结构/链表

r - 如何重新排列两个数据帧之间的匹配顺序

python - Numpy 滚动列相关

python - 如何处理 pandas 条形图中烦人的间隙

python - 替换大于 numpy 数组中限制的值

c++ - 打印 map ,无法将 const string 转换为 const char 数组

python - 合并列表中的元素(如果它们在某个 unicode 范围内)