繁体   English   中英

如何修改给定的代码以使最终列表仅包含每个字母的单个副本?

[英]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']

使用来自itertoolschain.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 setordered 如果您真的很在意订单,那么您可以尝试这样的事情

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM