我有下面的代码片段
seta = ["apple","orange","grapes","mango", "starfruit"]
setb = ["papaya","mango","jackfruit","grapes","lychee"]
def setOperation(seta, setb):
union = set(seta) | set(setb)
print(list(union))
intersection = set(seta) & set(setb)
print(list(intersection))
difference = set(seta) - set(setb)
print(list(difference))
difference = set(setb) - set(seta)
print(list(difference))
sdifference = set(seta) ^ set(setb)
print(list(sdifference))
print(list(frozenset(set(seta))))
setOperation(seta,setb)
每次运行时都会产生不同的输出。 像-
['jackfruit', 'apple', 'mango', 'starfruit', 'grapes', 'lychee', 'orange', 'papaya']
['grapes', 'mango']
['orange', 'apple', 'starfruit']
['jackfruit', 'papaya', 'lychee']
['jackfruit', 'apple', 'starfruit', 'lychee', 'papaya', 'orange']
['orange', 'apple', 'grapes', 'mango', 'starfruit']
及
['grapes', 'mango', 'apple', 'orange', 'starfruit', 'lychee', 'papaya', 'jackfruit']
['grapes', 'mango']
['starfruit', 'apple', 'orange']
['lychee', 'papaya', 'jackfruit']
['apple', 'orange', 'starfruit', 'lychee', 'papaya', 'jackfruit']
['grapes', 'starfruit', 'mango', 'apple', 'orange']
但我希望输出如下-
['apple', 'grapes', 'jackfruit', 'lychee', 'mango', 'orange', 'papaya', 'starfruit']
['grapes', 'mango']
['apple', 'orange', 'starfruit']
['jackfruit', 'lychee', 'papaya']
['apple', 'jackfruit', 'lychee', 'orange', 'papaya', 'starfruit']
由于顺序的改变,我又一次在一次代码竞赛考试中失败了。 如果我错过了一些简单的事情或者做了一些愚蠢的事情,请一定要告诉我。我要按字典顺序输出。 短暂性脑缺血发作
集合是无序的,因此不能期望获得一致的顺序。由于您的预期输出是按排序的顺序进行的,因此您可以简单地查看排序的并集/交集等,如下所示:
Set是Python中的无序数据结构。如果您希望以字典顺序输出,只需在print命令中添加“sorted()”:
输出:
相关问题 更多 >
编程相关推荐