说我有5个单词的列表
my_list = ['python', 'apple', 'always', 'sky', 'lie']
如何使用函数单独扫描每个单词并删除具有相同字母的任何单词多次出现?
因此在函数运行后,列表应该只包含
my_list = ['python', 'sky', 'lie']
答案 0 :(得分:2)
单行:
result = [item for item in my_list if len(item) == len(set(item))]
set
检查长度是否发生变化(表示存在重复)您可以编写一个函数以使其更具可读性:
def is_unique_string(s):
return len(s) == len(set(s))
result = [item for item in my_list if is_unique_string(s)]
答案 1 :(得分:0)
这是你的答案
list = ['python', 'apple', 'always', 'sky', 'lie']
new_list = []
for string in list:
if len(string) == len(set(string)):
new_list.append(string)
print(new_list)
答案 2 :(得分:0)
def has_duplicate(s):
for x in xrange(len(s)-1):
if s[x] in s[x+1:]:
return true
return false
l=["python", "apple", "always", "sky", "lie"]
y=[s for s in l if not has_duplicate(s)]
检查第n个字符是否在第n个字符的字符串中。即
“苹果”