set() in python
2016-01-12 13:03
591 查看
1. set() remove the repeat elements
点击(此处)折叠或打开
>>> seq
= [1,2,3,1,2,3,'a','hello','a','world']
>>> seq_set
= set(seq)
>>> seq_set
set(['a', 1, 2, 3,
'world',
'hello']) #去除了重复对象
>>> string
= "hello world"
>>> string_set
= set(string)
>>> string_set
set([' ',
'e',
'd', 'h',
'l',
'o', 'r',
'w']) #sting也是Python中的一种序列
#set是一种集合,当然可以使用 in/not
in, len
>>>
'h' in string_set
True
>>>
'a' in string_set
False
>>> len(string_set)
8
#set的增删操作
# s.add(x)
# 向 set “s”中增加元素 x
# s.remove(x)
# 从 set “s”中删除元素 x, 如果不存在则引发
KeyError
# s.discard(x)
# 如果在 set “s”中存在元素 x, 则删除
# s.pop()
# 删除并且返回 set “s”中的一个不确定的元素, 如果为空则引发
KeyError
# s.clear()
# 删除 set “s”中的所有元素
2.set集合操作
点击(此处)折叠或打开
#子集运算
>>> s
= set([1,2,3,4,5])
>>> t
= set([1,2,3])
>>> s.issubset(t) #s是否为t的子集,相当于s<=t
False
>>> t.issubset(s) #t是否为s的子集,相当于s>=t
True
>>> s<=t
False
>>> t<=s
True
>>> s<t
False
>>> s>t
True
>>> s==t
False
>>> x
= set([1,2,3])
>>> x==t #两set是否相等
True
>>> set1
= set([1,2])
>>> set2
= set([2,3])
# 合集
# s.union(t)
# s | t
# 返回一个新的 set 包含 s 和 t 中的每一个元素
>>> set1.union(set2)
set([1, 2, 3])
>>> set1
| set2
set([1, 2, 3])
# 并集
# s.intersection(t)
# s & t
# 返回一个新的 set 包含 s 和 t 中的公共元素
>>> set1.intersection(set2)
set([2])
>>> set1
& set2
set([2])
# 差集
# s.difference(t)
# s - t
# 返回一个新的 set 包含 s 中有但是 t 中没有的元素
>>> set1.difference(set2)
set([1])
>>> set1
- set2
set([1])
# 叫什么集 我也不知道
# s.symmetric_difference(t)
# s ^ t
# 返回一个新的 set 包含 s 和 t 中不重复的元素
>>> set1.symmetric_difference(set2)
set([1, 3])
>>> set1
^ set2
set([1, 3])
# union(), intersection(), difference()
和 symmetric_difference()这种函数版本将会接受任何iterable对象作为参数。
# 相反,它们的运算符版本(operator based counterparts)要求参数必须是 sets。
>>> set1.union([3,4,5])
set([1, 2, 3, 4, 5])
>>> set1
| [3,4,5]
Traceback (most recent call last):
File "", line 1,
in <module>
set1 | [3,4,5]
TypeError: unsupported operand type(s)
for |:
'set' and
'list'
>>>
# 另外还有
# s.update(t)
# s |= t
# 返回增加了 set “t”中元素后的 set “s”
# s.intersection_update(t)
# s &= t
# 返回只保留含有 set “t”中元素的 set “s”
# s.difference_update(t)
# s -= t
# 返回删除了 set “t”中含有的元素后的 set “s”
# s.symmetric_difference_update(t)
# s ^= t
# 返回含有 set “t”或者 set “s”中有而不是两者都有的元素的 set “s”
reference from: http://blog.csdn.net/sicofield/article/details/40083653
点击(此处)折叠或打开
>>> seq
= [1,2,3,1,2,3,'a','hello','a','world']
>>> seq_set
= set(seq)
>>> seq_set
set(['a', 1, 2, 3,
'world',
'hello']) #去除了重复对象
>>> string
= "hello world"
>>> string_set
= set(string)
>>> string_set
set([' ',
'e',
'd', 'h',
'l',
'o', 'r',
'w']) #sting也是Python中的一种序列
#set是一种集合,当然可以使用 in/not
in, len
>>>
'h' in string_set
True
>>>
'a' in string_set
False
>>> len(string_set)
8
#set的增删操作
# s.add(x)
# 向 set “s”中增加元素 x
# s.remove(x)
# 从 set “s”中删除元素 x, 如果不存在则引发
KeyError
# s.discard(x)
# 如果在 set “s”中存在元素 x, 则删除
# s.pop()
# 删除并且返回 set “s”中的一个不确定的元素, 如果为空则引发
KeyError
# s.clear()
# 删除 set “s”中的所有元素
2.set集合操作
点击(此处)折叠或打开
#子集运算
>>> s
= set([1,2,3,4,5])
>>> t
= set([1,2,3])
>>> s.issubset(t) #s是否为t的子集,相当于s<=t
False
>>> t.issubset(s) #t是否为s的子集,相当于s>=t
True
>>> s<=t
False
>>> t<=s
True
>>> s<t
False
>>> s>t
True
>>> s==t
False
>>> x
= set([1,2,3])
>>> x==t #两set是否相等
True
>>> set1
= set([1,2])
>>> set2
= set([2,3])
# 合集
# s.union(t)
# s | t
# 返回一个新的 set 包含 s 和 t 中的每一个元素
>>> set1.union(set2)
set([1, 2, 3])
>>> set1
| set2
set([1, 2, 3])
# 并集
# s.intersection(t)
# s & t
# 返回一个新的 set 包含 s 和 t 中的公共元素
>>> set1.intersection(set2)
set([2])
>>> set1
& set2
set([2])
# 差集
# s.difference(t)
# s - t
# 返回一个新的 set 包含 s 中有但是 t 中没有的元素
>>> set1.difference(set2)
set([1])
>>> set1
- set2
set([1])
# 叫什么集 我也不知道
# s.symmetric_difference(t)
# s ^ t
# 返回一个新的 set 包含 s 和 t 中不重复的元素
>>> set1.symmetric_difference(set2)
set([1, 3])
>>> set1
^ set2
set([1, 3])
# union(), intersection(), difference()
和 symmetric_difference()这种函数版本将会接受任何iterable对象作为参数。
# 相反,它们的运算符版本(operator based counterparts)要求参数必须是 sets。
>>> set1.union([3,4,5])
set([1, 2, 3, 4, 5])
>>> set1
| [3,4,5]
Traceback (most recent call last):
File "", line 1,
in <module>
set1 | [3,4,5]
TypeError: unsupported operand type(s)
for |:
'set' and
'list'
>>>
# 另外还有
# s.update(t)
# s |= t
# 返回增加了 set “t”中元素后的 set “s”
# s.intersection_update(t)
# s &= t
# 返回只保留含有 set “t”中元素的 set “s”
# s.difference_update(t)
# s -= t
# 返回删除了 set “t”中含有的元素后的 set “s”
# s.symmetric_difference_update(t)
# s ^= t
# 返回含有 set “t”或者 set “s”中有而不是两者都有的元素的 set “s”
reference from: http://blog.csdn.net/sicofield/article/details/40083653
相关文章推荐
- Ubuntu 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- Linux socket 初步
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- Linux Kernel 4.0 RC5 发布!
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!