5.4.Sets
python还包含一个数据类型sets。set是个无序的没有重复元素的集合。set还包括数学的集合操作。
创建set的方法有2种:大括号、函数set()。注意,如果创建一个空的set必须使用set()。
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket) # show that duplicates have been removed
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # fast membership testing
True
>>> 'crabgrass' in basket
False
>>> # Demonstrate set operations on unique letters from two words
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a # unique letters in a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # letters in a but not in b
{'r', 'd', 'b'}
>>> a | b # letters in either a or b
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # letters in both a and b
{'a', 'c'}
>>> a ^ b # letters in a or b but not both
以上是从英文教程中翻译来的。
a = set('abracadabra')
这句让我很困惑,为什么连字符串也给去重了?看了下函数注释:
set Found at: builtins
set() -> new empty set object
set(iterable) -> new set object
Build an unordered collection of unique elements.
原来是iterable的子类的做为参数。也就是说可以是str、bytes、byte tuple、list、range、tuple都可以。
b = set((1,1,2,3)) # tuple
print(b)
b = set('1212') # str
print(b)
b = set([1212,'ab',1212]) # list
print(b)
b = set(range(0,5,2)) # range
print(b)
set的内容操作和list也是一样的。
>>> a = {x for x in 'abracadabra' if x not in 'abc'}
>>> a
{'r', 'd'}
分享到:
相关推荐
Python学习笔记--皮大庆,非常适合零基础入门。对应英文版本《How to think like a computer scientist》
python笔记-学习python基础-01,学习第一个python程序,好好学习天天向上
ubuntu20.04安装Python2-dev
python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python ...
强烈推荐《How to think like a computer scientist》,对应中文版本《Python学习笔记--皮大庆》,非常适合零基础入门。
python-2.7.5-89.el7.x86_64.rpm python-devel-2.7.5-89.el7.x86_64.rpm python-iniparse-0.4-9.el7.noarch.rpm python-libs-2.7.5-89.el7.x86_64.rpm python-pycurl-7.19.0-19.el7.x86_64.rpm python-urlgrabber-...
Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础...
python2.5--安装包--windows...........
python-devel-2.7.5-68.el7.x86_64.rpm python-2.7.5-68.el7.x86_64.rpm 搭配,从iso中取出,亲测可用
django-python3-ldap, python 3的Django LDAP用户身份验证后端 django-python3-ldapdjango-python3-ldap 为 python 2和 3提供了一个 Django LDAP用户身份验证后端。特性使用LDAP服务器验证用户身份。将LDAP用户与...
python-3.10.1-amd64.exe python-3.10.2-amd64.exe python-3.9.10-embed-amd64.zip python-3.9.10-amd64.exe python-3.10.1-embed-amd64.zip python-3.10.2-embed-amd64.zip
python-3.7.0-amd64.zip python-3.7.0-amd64.zip python-3.7.0-amd64.zip python-3.7.0-amd64.zip python-3.7.0-amd64.zip
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
物联网智能插座 Python 实现--本科毕业设计项目源码 物联网智能插座 Python 实现--本科毕业设计项目源码 物联网智能插座 Python 实现--本科毕业设计项目源码 物联网智能插座 Python 实现--本科毕业设计项目源码 ...
离线安装包,亲测可用
Python学习笔记--皮大庆
10-python提高-1(python和linux高级编程阶段 代码和截图)10-python提高-1(python和linux高级编程阶段 代码和截图)10-python提高-1(python和linux高级编程阶段 代码和截图)10-python提高-1(python和linux高级...
11-python提高-2(python和linux高级编程阶段 代码和截图)11-python提高-2(python和linux高级编程阶段 代码和截图)11-python提高-2(python和linux高级编程阶段 代码和截图)11-python提高-2(python和linux高级...
python-3.11.0-embed-amd64.zip