string1 = "aadsfytggfbbhieenoohghgsfdetsuhbdfvd"
sortedstring = "".join(sorted(string1))
string2 = "dfgthhdqqaaiirrthhnnoogsfdet"
sortedstring1 = "".join(sorted(string2))
uniqueString = {}
for i in sortedstring:
if i in uniqueString:
uniqueString[i]+= 1
else:
uniqueString[i] = 1
print uniqueString
uniqueString1 = {}
for i in sortedstring1:
if i in uniqueString1:
uniqueString1[i]+= 1
else:
uniqueString1[i] = 1
print uniqueString1
它给了我这个输出:
{'a': 2, 'b': 3, 'e': 3, 'd': 4, 'g': 4, 'f': 4, 'i': 1, 'h': 4, 'o': 2, 'n': 1, 's': 3, 'u': 1, 't': 2, 'v': 1, 'y': 1}
{'a': 2, 'e': 1, 'd': 3, 'g': 2, 'f': 2, 'i': 2, 'h': 4, 'o': 2, 'n': 2, 'q': 2, 's': 1, 'r': 2, 't': 3}
这里我需要uniqueString
中'a'(此处为2)的值等于uniqueString1
中'a'(此处为2)的值,它应返回True else False
我需要验证string1中重复x次的字符是否在string1中,如果字符串2中的相同字符重复x次,则应该返回True
else False
。
答案 0 :(得分:0)
您正在执行的操作已在python中实现:collections.Counter
:
from collections import Counter
string1 = "aadsfytggfbbhieenoohghgsfdetsuhbdfvd"
string2 = "dfgthhdqqaaiirrthhnnoogsfdet"
counter1 = Counter(string1)
counter2 = Counter(string2)
print(counter1)
# Counter({'f': 4, 'g': 4, 'd': 4, 'h': 4, 's': 3, 'b': 3, 'e': 3, 'o': 2,
# 't': 2, 'a': 2, 'i': 1, 'u': 1, 'n': 1, 'v': 1, 'y': 1})
print(counter2)
# Counter({'h': 4, 'd': 3, 't': 3, 'i': 2, 'f': 2, 'g': 2, 'o': 2, 'n': 2,
# 'q': 2, 'r': 2, 'a': 2, 's': 1, 'e': 1})
并比较它们是否相等可以通过以下方式完成:
print(counter1['a'] == counter2['a'])
# True
或者如果你想要一个包含counter1
中每个元素的所有检查的字典,只需使用字典理解:
character_equally_often = {i: counter1[i] == counter2[i] for i in counter1}
print(character_equally_often)
# {'i': False, 'u': False, 'f': False, 'g': False, 'o': True,
# 's': False, 'd': False, 'n': False, 't': False, 'h': True,
# 'v': False, 'b': False, 'e': False, 'y': False, 'a': True}
它只是比较第一个计数器中包含的所有字符,但可以很容易地扩展为包含两个计数器:
character_equally_often = {i: counter1[i] == counter2[i] for i in set(string1).union(set(string2))}
print(character_equally_often)
# {'i': False, 'u': False, 'f': False, 'g': False, 'o': True,
# 's': False, 'v': False, 'n': False, 't': False, 'h': True,
# 'b': False, 'e': False, 'q': False, 'r': False, 'y': False,
# 'a': True, 'd': False}