python:如何检查字符串是否具有相同的字符/重复它们的概率是相同的

2024-09-30 14:22:21 发布

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

如何检查给定的字符串是否具有相同的字符,或者它们的概率是否相同,这给了我正确的答案

例如,如果有 string = "aaaa"结果是真的 以及:

string = "aabb" True
string = "aabbcc" True
p = "1122" True
p = "aaaaBBBB9999$$$$" True

但是:

string = "korara" False
p = "33211" False

对于"aaa",我可以使用(len (set ("aaa")) == 1),但是我不知道其他的


Tags: 字符串答案falsetruestringlen概率字符
3条回答

您可以使用将创建字典的集合,然后可以检查每个值是否相等

下面的代码就是这样做的:

import collections

counter = dict(collections.Counter("aabbcc"))

expected_value = next(iter(counter.values()))
are_equal = all(value == expected_value for value in counter.values())

print("Result for aabbcc: ", are_equal)

counter = dict(collections.Counter("korara"))

expected_value = next(iter(counter.values()))
are_equal = all(value == expected_value for value in counter.values())

print("Result for korara: ", are_equal)

你试过了吗

from collections import Counter

def check(v):
    return len(set(Counter(v).values())) <= 1

assert check("aabb")
assert check("aabbcc")
assert check("1122")
assert check("aaaaBBBB9999$$$$")
assert check("")

assert not check("korara")
assert not check("33211")

在此函数中传递字符串

def repeating_probability(s):
    sarr={}
    for i in s:
        if i in sarr.keys():
            sarr[i] += 1
        else:
            sarr[i] = 1
    if len(list(set(sarr.values()))) == 1:
        return True
    else:
        return False

相关问题 更多 >