为了账号安全,请及时绑定邮箱和手机立即绑定

使用 set() 或 {} 创建集合的差异

使用 set() 或 {} 创建集合的差异

慕斯709654 2021-09-24 16:39:45
这种差异让我感到困惑:>>> s = "()())()">>> print set(s)set([')', '('])>>> print {s}set(['()())()'])为什么?
查看完整描述

3 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

set() 将一个可迭代对象作为参数,其项将是集合的元素。

因此, set('my string') 将包含我传递给它的可迭代对象的每个字符,即 {'m', 'y' ...}

使用{},您可以通过写下每个元素来创建集合,并用逗号分隔。

{'my string'} 包含一个元素,字符串 'my string'


查看完整回答
反对 回复 2021-09-24
?
手掌心

TA贡献1942条经验 获得超3个赞

当你写:

set(s)

它将字符串视为可迭代对象,并创建一个包含其元素的集合。字符串的元素是单个字符。所以它相当于做:

{'(', ')', '(', ')', ')', '(', ')'}

由于集合不能包含重复元素,因此您会得到一个包含两个唯一字符'('和的集合')'

但是,当你写:

{s}

它只是创建一个集合,其元素是变量的值。的{}语法将每一个变量为单个元件,而不是遍历它。

set()函数经常用于将一种集合转换为一组其元素,这就是它迭代它的原因。


查看完整回答
反对 回复 2021-09-24
  • 3 回答
  • 0 关注
  • 243 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信