假设我有两个列表:
A = ['cat', 'dog', 'cow', 'pig', 'monkey']
B = ['Felix', 'Fido', 'Moo', 'Trump', 'King Kong']
Run Code Online (Sandbox Code Playgroud)
现在我想通过选择 3 个随机索引(无替换)来创建lists A和list B,同时保持A和的值之间的关系B。
例如,
随机选择的指数: 4, 0, 3
所以,
A = ['monkey', 'cat', 'pig']
B = ['King Kong', 'Felix', 'Trump']
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以在不编写迭代 3 次以选择随机索引的 for 循环的情况下执行此操作?
例如:"xwzfyfjvmehjnscfdvyosifv"应该返回False,因为它有几个"f"(在其他重复字符中)
while"fnyqov"应该返回 True。
我的问题是大部分时间我的代码都可以工作,但"xwzfyfjvmehjnscfdvyosifv"一直保持 returnig True。
大写和小写应该受到同等威胁,因此"woOman"应该 return False。
这是我的代码:
def is_isogram(string):
string = string.lower()
if string == "":
return True
for i in string:
if string.count(i) >= 2:
return False
elif is_repeated(string) == True:
return False
else:
return True
def is_repeated(string):
last_letter = ""
for i in string:
if last_letter.lower() == i.lower():
return True
break
last_letter = i
return False
print(is_isogram("xwzfyfjvmehjnscfdvyosifv"))
Run Code Online (Sandbox Code Playgroud)