[英]How can I modify the following program so that I can make sure that each letter it replaces is unique?
[英]How can i Modify the given code so that the final list only contains a single copy of each letter?
这是代码:
word_list = ['cat','dog','rabbit']
letter_list = [ ]
fora_wordinword_list:`
fora_letterina_word:
letter_list.append(a_letter)
print(letter_list)
我将修改给定的代码,使最终列表只包含每个字母的一个副本。
['c','a','t','d','o','g','r','b','i']
我怎样才能做到这一点?
Python套装是您所需要的。 尝试这个:
word_list = ["cat", "dog", "rabbit"]
print(list(set("".join(word_list))))
Output:
['g', 'r', 'd', 'o', 'i', 'c', 't', 'b', 'a']
警告:
集合不保留列表的原始顺序。
集合 object 是不同的可散列对象的无序集合。 常见用途包括成员资格测试、从序列中删除重复项以及计算数学运算,例如交集、并集、差异和对称差异。
但是,如果您真的对维护订单感兴趣:
word_list = ["cat", "dog", "rabbit"]
result = []
for i in "".join(word_list):
if i not in result:
result.append(i)
print(result)
Output:
['c', 'a', 't', 'd', 'o', 'g', 'r', 'b', 'i']
使用来自itertools
的chain.from_iterable
:
list(dict.fromkeys(chain.from_iterable(word_list)))
这在 python 版本 3.7+ 上也将保持元素的顺序。
希望这会有所帮助
word_list=["cat","dog","rabbit"]
print(list(set("".join(word_list))))
最好使用一个集合来调整你以前的代码来做到这一点:
word_list = ['cat','dog','rabbit']
letter_list = set()
for a_word in word_list:
for a_letter in a_word:
letter_list.add(a_letter)
print(list(letter_list))
你也可以聪明地使用一个衬里:
print(list(set("".join(word_list))))
如果您想在不导入任何内容的情况下保留订单:
print(list({k: 1 for k in "".join(word_list)}))
final_output = []
for word in word_list:
for i in range( len(word) ):
final_output.append(sampleStr[i])
尝试这个:)
您必须添加条件:
word_list = ['cat','dog','rabbit']
letter_list = [ ]
for word in word_list:`
for character in word:
if character not in letter_list:
letter_list.append(character)
print(letter_list)
在 python set
未ordered
。 如果您真的很在意订单,那么您可以尝试这样的事情
word_list = ['cat','dog','rabbit']
letter_list = []
for i in "".join(word_list):
if i not in letter_list:
letter_list.append(i)
>>> letter_list
['c','a','t','d','o','g','r','b','i']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.