Python 为什么这个return语句返回一个列表而不是集合?
已经有一段时间了。我最近学习了Python,我运行了一些paculiar,我不明白为什么,我是Python新手,我正在通过一本书学习它,但它可能有点过时。然而,我有时喜欢书而不是视频。无论如何,这就是问题所在Python 为什么这个return语句返回一个列表而不是集合?,python,list,set,return,Python,List,Set,Return,已经有一段时间了。我最近学习了Python,我运行了一些paculiar,我不明白为什么,我是Python新手,我正在通过一本书学习它,但它可能有点过时。然而,我有时喜欢书而不是视频。无论如何,这就是问题所在 def search_vowels(word): vowels = set('aeeeiouuu') return sorted(vowels.intersection(set(word))) 对于这段代码,它基本上有两个集合,一个称为元音,另一个是传递给函数“search_voterl
def search_vowels(word):
vowels = set('aeeeiouuu')
return sorted(vowels.intersection(set(word)))
对于这段代码,它基本上有两个集合,一个称为元音,另一个是传递给函数“search_voterls()”的内容
然而,有趣的是,当我返回对象时,它会创建一个新列表而不是一个集合。我使用交集函数从word中查找元音中的公共字符串值,它不返回集合,而是返回list?有人能解释一下吗
我知道我可以通过声明一个来将当前返回的列表设置为一个集合
common = sorted(vowels.intersection(set(word)))
return set(common)
但为什么它最初不返回一个集合呢?有什么我不知道的吗?请原谅我的无知,并感谢您提供的任何专业知识。谢谢您的时间。
sorted
始终返回一个列表。它接受任何类型的iterable并返回排序值的列表。以下是使用排序后的时在python IDLE中得到的提示:
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
我认为排序返回一个列表。:)但是,“排序”只是对项目进行排序。请在过帐前检查。FWIW,集合“通常无序”(标准Python集合也是如此);而sorted
函数(在所有序列中也是通用的)返回一个有序列表-要获得一个有序集,通常必须选择一个,这必须应用后排序,因为sorted
仍将返回一个列表(或以应用“有序集逻辑”的方式使用)哇,我应该检查一下文件,我应该养成这个习惯。非常感谢。哇,我应该检查一下文件,这是第一行,谢谢你给我看这个@sam pyt我现在明白了。@sam pyt你知道电子是如何流过半导体的吗?;)