这是代码:
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']
我该怎么做?
从itertools
:使用chain.from_iterable
list(dict.fromkeys(chain.from_iterable(word_list)))
这在python 3.7+版本上也将维护元素的顺序。
Python集就是您所需要的。试试这个:
word_list = ["cat", "dog", "rabbit"]
print(list(set("".join(word_list))))
输出:
['g', 'r', 'd', 'o', 'i', 'c', 't', 'b', 'a']
警告:
集合不保留列表的原始顺序。
集合对象是不同可散列对象的无序集合。常见的用途包括成员身份测试、从序列中删除重复项,以及计算数学运算,如交集、并集、差分和对称差分。
但是,如果您真的有兴趣维护订单:
word_list = ["cat", "dog", "rabbit"]
result = []
for i in "".join(word_list):
if i not in result:
result.append(i)
print(result)
输出:
['c', 'a', 't', 'd', 'o', 'g', 'r', 'b', 'i']
希望这将有助于
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']