Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么这个return语句返回一个列表而不是集合?_Python_List_Set_Return - Fatal编程技术网

Python 为什么这个return语句返回一个列表而不是集合?

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

已经有一段时间了。我最近学习了Python,我运行了一些paculiar,我不明白为什么,我是Python新手,我正在通过一本书学习它,但它可能有点过时。然而,我有时喜欢书而不是视频。无论如何,这就是问题所在

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你知道电子是如何流过半导体的吗?;)