【问题标题】:Comparison between string characters within a list [duplicate]列表中字符串字符之间的比较[重复]
【发布时间】:2021-12-15 05:47:02
【问题描述】:

有一个 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

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

【问题讨论】:

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

标签: python string list


【解决方案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

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

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2021-09-14
  • 1970-01-01
  • 1970-01-01
  • 2011-09-28
  • 2017-09-18
  • 2023-04-06
  • 1970-01-01
  • 2013-04-15
相关资源
最近更新 更多