Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.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-字符串与列表的超集_Python_Set_Superset - Fatal编程技术网

Python-字符串与列表的超集

Python-字符串与列表的超集,python,set,superset,Python,Set,Superset,我有一个简单的集合变量,名为ss: ss Out[5]: {'a', 'ab'} 请有人解释一下以下3个输出: ss.issuperset('a') Out[6]: True ss.issuperset('ab') Out[7]: False ss.issuperset(['ab']) Out[8]: True 谢谢大家! 为了清楚起见,这只是前面答案的扩展 代码> SS.Suffset(AB)被解释为 SS.SuxPset(SET(AB))这可能会有点混乱,因为如果您考虑以下代码: &

我有一个简单的
集合
变量,名为
ss

ss
Out[5]: {'a', 'ab'}
请有人解释一下以下3个输出:

ss.issuperset('a')
Out[6]: True

ss.issuperset('ab')
Out[7]: False

ss.issuperset(['ab'])
Out[8]: True

谢谢大家!

为了清楚起见,这只是前面答案的扩展

代码> SS.Suffset(AB)被解释为<代码> SS.SuxPset(SET(AB))这可能会有点混乱,因为如果您考虑以下代码:

>>> sss = set('ab')
>>> sss
set(['a', 'b'])
您会注意到set('ab')是set(['a','b'])。现在
ss
集合(['a','b'])的超集吗?否,因为
ss
不包含
'b'
,因此
为False

set('ab')
被解释为
set(['a','b'])
的原因是
set()
接受Iterable对象作为参数,
set()
在逐个添加元素的同时迭代传递的Iterable。在Python和许多其他语言中,字符串是按顺序排列的字符列表,并提供函数
\uuuu iter\uuu


如果将['ab']传递给set(),如:
set(['ab'])
,则该语句相当于
set(list('ab'))
,在这种情况下,iterable是列表,而不是字符串
'ab'

很好的回答。我接受了@S.M.Styvane的回答,因为他先回答了。回答得不错。您是否介意添加一个解释,解释为什么
set('ab')
等同于
set(['a','b'))
?(
set
将iterable作为参数和内容…)当然。。。我只是试了一下。。。如果你能复习一下,我将不胜感激!别担心,贝尼