Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将两个列表中的字符与字符串匹配_Python_String_List_Match_Character - Fatal编程技术网

Python 将两个列表中的字符与字符串匹配

Python 将两个列表中的字符与字符串匹配,python,string,list,match,character,Python,String,List,Match,Character,使用python,我想做以下工作 list1=[“字符串中的一些文本(是的,它也在这里)”,“更多的文本2”,“更多的文本3(带一些括号)”] 列表2=['string(是的,它也在这里)''text 2','(带一些括号)] 并制作以下列表: list3=['来自a的一些文本','更多','更多文本3'] 在Python3中实现这一点的最佳方法是什么?如果列表2中的项在列表1中总是较短(部分)。您可以这样做: list3 = [] for i,j in zip(list1,list2):

使用python,我想做以下工作

list1=[“字符串中的一些文本(是的,它也在这里)”,“更多的文本2”,“更多的文本3(带一些括号)”]
列表2=['string(是的,它也在这里)''text 2','(带一些括号)]
并制作以下列表:

list3=['来自a的一些文本','更多','更多文本3']

在Python3中实现这一点的最佳方法是什么?

如果列表2中的项在列表1中总是较短(部分)。您可以这样做:

list3 = []
for i,j in zip(list1,list2):
    list3.append(''.join(i.split(j)))
或者在一行中:

list3 = [''.join(i.split(j)) for i,j in zip(list1,list2)]
如果列表2中的项目数不等于列表1中的项目数,则可以从列表1项目中删除列表2项目的所有外观,如下所示:

list3 = []
for i in list1:
    for j in list2:
        if j in i:
            i = ''.join(i.split(j))
    list3.append(i)

试试这个自制的食谱

list1 = ['some text from a string (yes it is here too)', 'some more text 2', 'some more text 3 (with some parenthesis)']

list2 = ['string (yes it is here too)', 'text 2', '(with some parenthesis)']
need = [[space for space in l1.split(l2) if space != ''] for l1,l2 in zip(list1,list2)]

如果字符串没有括号,您想创建一个新列表并从两个列表中添加字符串吗?
list2
条目中的文本是否总是出现在相应的
list1
条目的末尾?我正在寻找模式匹配特定单词并使用其中一个列表保留部分句子(list2)作为id要从列表1中删除的项集。希望这有意义!下面是我正在处理的两个真正的列表:列表1=['最奶油的mac和奶酪:2:08+2:16(在“在这间房子里开玩笑”后在1:55结束)+2:25+1:02','南方烤豆:4:48(在“看看我们有什么”后在4:17结束)+2:29(在她咬了一口并说“嗯”后在0:48结束)+0:42“这太棒了”;“再见”之后的0:29结束,在她试着吃但吃不下之前)]list2=['(在“在这房子里开玩笑”之后的1:55结束),(在“看看我们有什么”之后的4:17结束),(在她咬了一口并说“嗯”之后的0:48结束),(从0:10开始,用“这太棒了”;在“再见”之后的0:29结束,在她尝试吃但失败之前)]上面的解决方案似乎没有为list3返回正确的值,这很奇怪。你是对的。我编辑了它。现在检查它。最后的代码只会从字符串的末尾删除它对第一个列表项有效,但对列表中的其他项无效,我将列表组织如下:list1=['最奶油的mac和奶酪:2:08+2:16(在“在这房子里开玩笑”后1:55结束)2:25+1:02,“南方烤豆”4:48(在“看看我们有什么”后4:17结束)2:29(在她咬了一口并说“嗯”后在0:48结束)0:42(从0:10开始说“这太棒了”;在“很快见你们”之后在0:29结束,在她尝试吃它之前)“]list2=[”(在“在这所房子里开玩笑”之后在1:55结束),(在“看看我们得到了什么”之后在4:17结束)(在她咬了一口并说“嗯”之后在0:48结束)(从0:10开始说“这太好了”;在“很快见”之后在0:29结束,在她尝试吃到失败之前)