如何解决采用不同字符串中的相同元素之一
我有3个数组。这些数组有不同的元素。但是有些元素是相似的。我不想重复元素。获取每个元素之一。示例3数组:
a=["apple","banana","orange"]
b=["apple","banana"]
c=["cherry","grappe"]
结果
result=["apple","orange","cherry","grappe"]
解决方法
您可以使用set
并执行以下操作:
a=["apple","banana","orange"]
b=["apple","banana"]
c=["cherry","grappe"]
result = list(set(a + b + c))
>>> result = ["apple","orange","cherry","grappe"]
,
a = ["apple","orange"]
b = ["apple","banana"]
c = ["cherry","grappe"]
lst = list(set(a + b + c))
print(lst)
['banana','apple','cherry','grappe','orange']
查看set
的文档以了解其功能。
您可以使用itertools.chain
然后将其转换为设置以删除重复项,然后转换回列表(也可以进行排序):
import itertools
a=["apple","grappe"]
d = sorted(list(set(list(itertools.chain(a,b,c)))))
print(d)
,
如果要保持首次出现的顺序(如示例输出所示),一种方法是利用数据作为键来创建字典,以利用自python 3.7起对字典进行排序的事实:
from itertools import chain
a = ["apple","grappe"]
d = {key: None for key in chain(a,c)}
result = list(d.keys())
print(result)
# ['apple','banana','orange','grappe']
,
a = ["apple","grappe"]
result = a + b + c # marge all lsit
result = list(dict().fromkeys(result)) # remove duplicate
print(result)
参考:https://www.w3schools.com/python/python_howto_remove_duplicates.asp
,您可以使用set
来消除重复项:
list(set(a+b+c))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。