Python:比较具有两个不同列表长度的列表中的字符串

克劳斯

我有两个包含不同长度字符串的列表。现在,我想检查一个列表中的字符串是否是另一个列表的子字符串,以创建一个与string_list相同长度的新列表。

string_list = ['expensive phone', 'big house', 'shiny key', 'wooden door']
substring_list = ['phone','door']

到目前为止我做了什么

newlist=[]
for i in string_list:
    for j in substring_list:
        if i in j:
            newlist.append(j)
print newlist 

所以它给了我

 newlist = ['phone', 'door']        

但是我想要实现的是以下列表

newlist = ['phone', '-', '-', 'door']
摩西·科莱多耶(Moses Koledoye)

for循环可能会占用一个else块。在找不到字符串的情况下,可以使用此else块来附加'-'

newlist=[]
for i in string_list:
    for j in substring_list:
        if j in i:
            newlist.append(j)
            break
    else:
        newlist.append('-')
print(newlist)
# ['phone', '-', '-', 'door']

如果您希望结果的长度与第一个列表的长度相同,则需要在中加入一个分隔符,if以便如果两个项目都包含在一个字符串中(例如'expensive phone door'),则不会进行两个附加操作,而这些附加操作将使结果列表长度。

break也可以确保在找到项目时不执行elsefor

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

连接两个不同列表中的字符串

识别具有来自两个不同列表的单词的字符串

比较 Ruby on Rails 中具有相同部分的两个不同字符串

如何比较两个具有不同长度的列表并删除一些元素?

比较包含字符串的python中的两个列表

具有部分字符串匹配的两个列表的组合(在 R 中)

如何比较两个具有不同顺序的列表?

使用 SQL 如何从两个不同的列中只取回具有相同字符串长度的条目?

Scala比较两个列表并构建字符串

用字符串数据比较两个列表?

比较两个不同字符串中的字符

python中具有相同值的两个不同的字符串对象

当两个参数在Python映射函数中具有不同的列表长度时,会发生什么?

如何使用python有效地匹配两个大列表之间的字符串?(510.000.000比较)

如何在值中包含字符串的python3中比较两个嵌套字典的列表

在python中合并两个不同长度的列表

有没有办法以不同的方式编辑列表中相同子字符串的两个实例?

如何在python中对列表中的两个列表路径的字符串进行排序?

比较不同列表python中两个元组的项目

Python匹配两个列表之间的列表元素中的部分字符串

使用两个列表替换字符串 - Python

具有相同长度的两个输入列表与具有不同长度的两个输入列表的行为不同(方案)

获取所有索引的列表,其中两个长度相等的整数列表具有相同的条目(在 Python 中)

我想拆分字符串类型列表并将它们存储在android中的两个不同列表中

字符串中具有不同键的字典列表

如何将列表中的整数和字符串元素分成两个不同的列表?

如何`str.join`两个列表到Python3中所有组合的字符串?

Python中的两个列表比较

从另一个列表创建具有特定字符串长度的列表