python中如何在set中添加元素?语句是什么

 我来答
流浪地球
2019-03-04 · 知道合伙人IT服务行家
流浪地球
知道合伙人IT服务行家
采纳数:9 获赞数:27
已发表两篇SCI论文,累积影响因子7.9

向TA提问 私信TA
展开全部
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.

sets 支持 x in set, len(set),和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作。

下面来点简单的小例子说明把。

>>> x = set('spam')
>>> y = set(['h','a','m'])
>>> x, y
(set(['a', 'p', 's', 'm']), set(['a', 'h', 'm']))

再来些小应用。

>>> x & y # 交集
set(['a', 'm'])

>>> x | y # 并集
set(['a', 'p', 's', 'h', 'm'])

>>> x - y # 差集
set(['p', 's'])

记得以前个网友提问怎么去除海量列表里重复元素,用hash来解决也行,只不过感觉在性能上不是很高,用set解决还是很不错的,示例如下:

>>> a = [11,22,33,44,11,22]
>>> b = set(a)
>>> b
set([33, 11, 44, 22])
>>> c = [i for i in b]
>>> c
[33, 11, 44, 22]

很酷把,几行就可以搞定。

1.8 集合

集合用于包含一组无序的对象。要创建集合,可使用set()函数并像下面这样提供一系列的项:

s = set([3,5,9,10]) #创建一个数值集合

t = set("Hello") #创建一个唯一字符的集合

与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。例如,如果检查前面代码中t集合的值,结果会是:

>>> t

set(['H', 'e', 'l', 'o'])

注意只出现了一个'l'。

集合支持一系列标准操作,包括并集、交集、差集和对称差集,例如:

a = t | s # t 和 s的并集

b = t & s # t 和 s的交集

c = t – s # 求差集(项在t中,但不在s中)

d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)

基本操作:

t.add('x') # 添加一项

s.update([10,37,42]) # 在s中添加多项

使用remove()可以删除一项:

t.remove('H')

len(s)
set 的长度

x in s
测试 x 是否是 s 的成员

x not in s
测试 x 是否不是 s 的成员

s.issubset(t)
s <= t
测试是否 s 中的每一个元素都在 t 中

s.issuperset(t)
s >= t
测试是否 t 中的每一个元素都在 s 中

s.union(t)
s | t
返回一个新的 set 包含 s 和 t 中的每一个元素

s.intersection(t)
s & t
返回一个新的 set 包含 s 和 t 中的公共元素

s.difference(t)
s - t
返回一个新的 set 包含 s 中有但是 t 中没有的元素

s.symmetric_difference(t)
s ^ t
返回一个新的 set 包含 s 和 t 中不重复的元素

s.copy()
返回 set “s”的一个浅复制

请注意:union(), intersection(), difference() 和 symmetric_difference() 的非运算符(non-operator,就是形如 s.union()这样的)版本将会接受任何 iterable 作为参数。相反,它们的运算符版本(operator based counterparts)要求参数必须是 sets。这样可以避免潜在的错误,如:为了更可读而使用 set('abc') & 'cbs' 来替代 set('abc').intersection('cbs')。从 2.3.1 版本中做的更改:以前所有参数都必须是 sets。

另外,Set 和 ImmutableSet 两者都支持 set 与 set 之间的比较。两个 sets 在也只有在这种情况下是相等的:每一个 set 中的元素都是另一个中的元素(二者互为subset)。
码脑
2019-03-02 · 一个严谨又风趣的服务号
码脑
向TA提问
展开全部
myset = set()
myset.add(1)
print(myset) # 输出 {1},即当前set中包含了一个元素,该元素为整数1
myset.add(2)
myset.add(100.1)
print(myset) # {1, 2, 100.1}
myset.add(1)
print(myset) # {1, 2, 100.1} 由于set中元素具有唯一性,所以重复元素将不会多次被加入set中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jjdsjeff
2019-04-08 · TA获得超过2052个赞
知道大有可为答主
回答量:2468
采纳率:72%
帮助的人:613万
展开全部

a=set('abc')

a.add('x')

a.add('y')

a.add('z')

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最新技术
2019-02-27
知道答主
回答量:21
采纳率:0%
帮助的人:3.9万
展开全部
定义 t为set
添加一项 t.add(1)
添加多项 t.update([1,2,3,4,5])
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
超然且昂扬丶松柏6388
2019-03-01 · TA获得超过3820个赞
知道大有可为答主
回答量:6491
采纳率:10%
帮助的人:597万
展开全部
set没有排序,但是list有啊 可以利用list的排序来对set进行排序: s = set('1234') l = list(s) l.sort()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式