如何比较python中的两个字符串?

2024-06-16 13:12:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两条弦

string1="abc def ghi"

以及

string2="def ghi abc"

如何使这两个字符串是相同的,而不打破的话?


Tags: 字符串defabcstring1ghistring2
3条回答

如果你想知道两个字符串是否相等,你可以简单地

print string1 == string2

但是如果您想知道它们是否都有相同的字符集并且出现的次数相同,可以使用^{},如下所示

>>> string1, string2 = "abc def ghi", "def ghi abc"
>>> from collections import Counter
>>> Counter(string1) == Counter(string2)
True

似乎问题不在于字符串的相等性,而在于集合的相等性。通过拆分字符串并将其转换为集合,您可以这样比较它们:

s1 = 'abc def ghi'
s2 = 'def ghi abc'
set1 = set(s1.split(' '))
set2 = set(s2.split(' '))
print set1 == set2

结果将是

True
>>> s1="abc def ghi"
>>> s2="def ghi abc"
>>> s1 == s2  # For string comparison 
False
>>> sorted(list(s1)) == sorted(list(s2)) # For comparing if they have same characters. 
True
>>> sorted(list(s1))
[' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
>>> sorted(list(s2))
[' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']

相关问题 更多 >