【发布时间】:2021-11-04 23:26:31
【问题描述】:
我有这两个列表:
list_y= ['aaa/bbb/ccc/18_12_13_y_n', 'aaa/bbb/ccc/11_14_13_y_n', 'aaa/bbb/ccc/11_12_14_y_n', 'aaa/bbb/ccc/11_12_16_y_n', 'aaa/bbb/ccc/14_12_13_y_n', 'aaa/bbb/ccc/11_17_13_y_n', 'aaa/bbb/ccc/11_12_19_y_n', 'aaa/bbb/ccc/11_12_13_y_n', 'aaa/bbb/ccc/11_12_17_y_n', 'aaa/bbb/ccc/11_12_18_y_n', 'aaa/bbb/ccc/15_12_13_y_n', 'aaa/bbb/ccc/12_12_13_y_n', 'aaa/bbb/ccc/11_16_13_y_n', 'aaa/bbb/ccc/16_12_13_y_n', 'aaa/bbb/ccc/11_12_15_y_n', 'aaa/bbb/ccc/17_12_13_y_n', 'aaa/bbb/ccc/13_12_13_y_n', 'aaa/bbb/ccc/11_13_13_y_n', 'aaa/bbb/ccc/18_12_13_y_n', 'aaa/bbb/ccc/11_15_13_y_n']
list_x= ['aaa/bbb/ccc/11_12_13_x_n', 'aaa/bbb/ccc/11_13_13_x_n', 'aaa/bbb/ccc/11_14_13_x_n', 'aaa/bbb/ccc/11_17_13_x_n', 'aaa/bbb/ccc/14_12_13_x_n', 'aaa/bbb/ccc/11_12_19_x_n', 'aaa/bbb/ccc/12_12_13_x_n', 'aaa/bbb/ccc/11_12_14_x_n', 'aaa/bbb/ccc/11_16_13_x_n', 'aaa/bbb/ccc/11_12_18_x_n', 'aaa/bbb/ccc/17_12_13_x_n', 'aaa/bbb/ccc/11_12_15_x_n', 'aaa/bbb/ccc/11_12_17_x_n', 'aaa/bbb/ccc/11_15_13_x_n', 'aaa/bbb/ccc/11_12_16_x_n', 'aaa/bbb/ccc/16_12_13_x_n', 'aaa/bbb/ccc/18_12_13_x_n', 'aaa/bbb/ccc/15_12_13_x_n', 'aaa/bbb/ccc/13_12_13_x_n', 'aaa/bbb/ccc/18_12_13_x_n']
我想比较它们是否具有相同的字符串(x 或 y 字母除外),然后我想知道 list_x 中的每个字符串是否与 list_y 中的对应字符串处于相同位置
这是我尝试过的:
list_a.sort()
list_b.sort()
list_a[0][0:21] == list_b[0][0:21]
这返回 True,因为我正在比较每个字符串的前 22 个元素,这很好,问题是这样我只对列表中的第一个字符串执行此操作。如何对整个列表进行处理?
总结一下我的疑惑:
- 如何比较两个仅部分匹配的字符串列表?
- 我使用 list_a[0][0:21] == list_b[0][0:21] 来比较字符串的前 22 个元素,但是有没有办法“排除” x 和 y 以及比较整个字符串?
谢谢。
【问题讨论】:
-
哦,是的,如果他们一开始有相同的字符,那没关系,谢谢
-
对不起,我看错了。我正在排序,因为两个列表中的字符串在 x 或 y 之前具有相同的元素(相同的字母),所以排序会将它们放在相同的位置,不是吗?
标签: python list string-comparison