python - 如何判断一个字符串是否有重复字符?
问题描述
我已经编写了这段代码......并且我期望的答案在这段代码中不正确,如果一个字符串有重复的字符,它应该返回 False 但它在所有情况下都返回 True
我已经做了很多编码来尝试解决这个问题这是在 JUPYTER 笔记本中
def is_isogram(string):
for i in string:
if string.count(i) == 1:
print('True')
elif string.count(i) > 1:
print('False')
我输入了“你好”,它应该返回 False,但在所有情况下都返回 true
解决方案
只要找到大于一的计数,您就可以确定您的单词不是等值线,但只有在检查了所有字母后才能确定它是一个:
def is_isogram(string):
for i in string:
if string.count(i) > 1:
return False
return True
print(is_isogram('pear'))
# True
print(is_isogram('apple'))
# False
或者,如果您真的希望您的函数打印其输出而不是返回它,我通常不建议这样做:
def is_isogram(string):
for i in string:
if string.count(i) > 1:
print('False')
return
print('True')
一个更短的经典解决方案是创建一个set
字符,并检查唯一字符的数量是否等于字符串的长度
def is_isogram2(string):
return len(set(string)) == len(string)
推荐阅读
- python - AWS CLOUD9:如何自动执行每天运行的任务?
- wordpress - 从 API 响应更新 wp_postmeta 中的 meta_value
- node.js - 使用 grpc 安全通道时收到错误代码 2 的 RST_STREAM
- flutter - 如何在颤动中使用带有 bloc 的无限负载?
- r - R:按名称排除列时出现问题
- postgresql - 弹簧数据。无法在 PostgreSQL 数组中保存具有 PostgreSQL 类型的实体
- google-cloud-platform - Google Oauth 错误:403 access_denied 开发者未授予权限
- python - 如何在 plotly 上使用 sns countplot?
- three.js - three.js 问题:如果放大太多,球体对象不会投影到相机中
- python - 使用 python 抓取 AJAX 响应