python - 对于下面显示的情况,如何通过比较两个列表的元素字符串来创建新列表?
问题描述
我有两个清单 -
List1 = [abcde,fghij,klmno,pqrst,uvwxy]
List2 = [cde,ghij,no,pqr]
我想要的输出:List3 = [pqrst,uvwxy]
如您所见,List2 的元素是 List1 的某些元素的子字符串。但是子字符串应该匹配从右侧开始的字符。例如,虽然 List2 的 'pqr' 是 List1 的元素 'pqrst' 的子字符串,但 pqrst 有一个尾随字符 't',所以我想把它放到另一个列表中。我想比较两个列表并获得一个新列表,比如包含 = [pqrst,uvwxy] 的 List3。
使用 python 的最佳方法是什么。
解决方案
在这种情况下,您可以使用endswith
简单的循环。
list1 = ['abcde','fghij','klmno','pqrst','uvwxy']
list2 = ['cde','ghij','no','pqr']
list3 = []
for i in list1:
bool1 = 0
for j in list2:
if i.endswith(j): bool1 = 1
if not bool1: list3.append(i)
print(list3) # output: ['pqrst', 'uvwxy']
推荐阅读
- batch-file - 使用 .bat 命令对 .txt 文件的值求和
- javascript - 可以解码这个字符串吗?
- json - 无法使用 JSON.net 反序列化 Xamarin 表单中的 JSON 对象
- php - 使用 php 将数据插入 MS SQL Server 时出现错误
- java - isLetter 方法在 Java 中不起作用
- java - 如何将 JSON 分配给 Java 中的变量
- java - Java 餐厅 EPOS 系统 - 固定电话集成
- c++ - gcc -fsanitize 多维数组
- python - 训练 Keras 深度学习模型时出现异常的损失进展
- powershell - 表单中的空白条目 - 不接受,继续 - powershell