列表中字符串字符之间的比较 [重复]

Comparison between string characters within a list [duplicate]

提问人:Rokshana Ahmed 提问时间:10/31/2021 更新时间:10/31/2021 访问量:881

问:

有一个 Python 列表,包含相同长度的字符串,如下所示:

input_list = [ "abc", "def", "ghi" ]

如何逐个字符比较所有字符串并区分它们?每个字符串必须比较另一个字符串一次。

list[0] 和 list[1]

list[0] 和 list[2]

list[1] 与 list[2]

比较示例:

"a" with "d"
"b" with "e"
"c" with "f" 

此列表中字符串类型元素的数量可能会更改,但字符串的长度将始终相同。

我一直在努力寻找一种方法来做到这一点,要么将每个元素变成一个子列表,这样我就可以比较它们,但比较总是会在循环中给我带来错误,例如“索引超出范围”。

我还尝试使用字典:

for i in range(len(list1)):
     n_dict["Player%s" %i] = list(list1[I])

这将为我提供以下输出:

{'Player0': ['a', 'b', 'c'],
 'Player1': ['d', 'e', 'f'],
 'Player2': ['g', 'h', 'i']}

但话又说回来,循环的比较更加复杂。我还尝试简单地使用列表索引,例如

for i in range(len(list1):
    for j in range(len(list1):
        if ord(list[i][j]) - ord(list[i][j]) < k:
            player0 += 1
        else:
            player1 +=1

但索引总是超出范围。有人可以帮我吗?

Python 字符串 列表

评论

0赞 PersianMan 10/31/2021
您已经在不同的用户名下问了相同的问题:stackoverflow.com/questions/69781124/...
0赞 Alain T. 10/31/2021
您究竟想从这些比较中获得什么?如果只是为了看字符串是否相等,你可以比较整个字符串。如果您正在考虑计算字符之间的“距离”,那么您应该查看 zip() 和 abs() 函数
0赞 Community 10/31/2021
请澄清您的具体问题或提供其他详细信息以准确说明您的需求。正如目前所写的那样,很难确切地说出你在问什么。

答:

0赞 PyotrVanNostrand 10/31/2021 #1
l = ["abc","def","abc","def","abc"]


i1 = 0
i2 = 1
for i in l[:-1]:
    for j in l[i2:]:
        while len(i) > i1:
            print(i[i1]==j[i1])
            i1 += 1
        i1 = 0
    i2 += 1

你可以逐个字符比较字符串,但不明白,你说的区别是什么意思?

评论

1赞 Community 10/31/2021
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。