Python基础入门(十一)- 集合set
2017-04-20 14:48
429 查看
1、什么是set
1)与dict(字典)区别:
dict的作用是建立一组
key 和一组 value 的映射关系,dict的key是不能重复的。
set
持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。
2)创建
set 的方式
调用 set() 并传入一个 list,list的元素将作为set的元素:
如:
注意:set内部存储的元素是无序的。
3)去重性
set不能包含重复的元素,所以,当我们传入包含重复元素的
list ,set会自动去掉重复的元素
例子:
2、
set内部存储的元素是无序的。所以访问
set中的某个元素实际上就是判断一个元素是否在set中。
通过“ in”操作符判断
例子:
>>> 'Bart' in s
True
>>>'Bill'
in s
False
>>>'bart'
in s
Flase
例子:
由于上述set不能识别小写的名字,请改进set,使得'adam'和'bart'都能返回True
解答:
3、
set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
第二、
set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。
第三、
set存储的元素也是没有顺序的
应用
星期一到星期日可以用字符串'MON', 'TUE', ... 'SUN'表示。判断用户的输入是否是一个有效的星期呢?
4、遍历set
直接使用 for 循环可以遍历 set 的元素:
>>> s=set(['Adam','Lisa','Bart'])
>>>for name in s:
..... print name
例子:请用
for 循环遍历如下的set,打印出 name: score 来。
打印出:
利用的tuple的元素位置打印出name:score样式
5、更新set
set存储的是一组不重复的无序元素,更新set有两种情况:
一、把新的元素添加到set中,添加用add()方法
二、把已有元素从set中删除,删除用remove()方法
例子:
添加: s.add(4)
print s ==> set([1,2,3,4])
删除:s.remove(2)
print s ==> set([1,3,4])
注意:
用add()可以直接添加元素,而remove()前需要判断。
练习:针对下面的set,给定一个list,对list中的每一个元素,如果在set中,就将其删除,如果不在set中,就添加进去。
解答:
1)与dict(字典)区别:
dict的作用是建立一组
key 和一组 value 的映射关系,dict的key是不能重复的。
set
持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。
2)创建
set 的方式
调用 set() 并传入一个 list,list的元素将作为set的元素:
如:
s = set(['A', 'B', 'C'])
>>> print s set(['A','B','C'])
注意:set内部存储的元素是无序的。
3)去重性
set不能包含重复的元素,所以,当我们传入包含重复元素的
list ,set会自动去掉重复的元素
例子:
2、
访问set
set内部存储的元素是无序的。所以访问
set中的某个元素实际上就是判断一个元素是否在set中。
通过“ in”操作符判断
例子:
s = set(['Adam', 'Lisa', 'Bart', 'Paul'])
>>> 'Bart' in s
True
>>>'Bill'
in s
False
>>>'bart'
in s
Flase
例子:
由于上述set不能识别小写的名字,请改进set,使得'adam'和'bart'都能返回True
解答:
3、
set的特点
第一、set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
第二、
set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。
第三、
set存储的元素也是没有顺序的
应用
星期一到星期日可以用字符串'MON', 'TUE', ... 'SUN'表示。判断用户的输入是否是一个有效的星期呢?
step1:可以创建一个set,包含'MON'~'SUN'
weekdays = set(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])
# 用户输入的字符串
step2:
再判断输入是否有效
if x in weekdays:
print 'input ok' else: print 'input error'
例子:月份也可以用set表示,请设计一个set并判断用户输入的月份是否有效。月份可以用字符串'Jan', 'Feb', ...表示。 解答:
4、遍历set
直接使用 for 循环可以遍历 set 的元素:
>>> s=set(['Adam','Lisa','Bart'])
>>>for name in s:
..... print name
例子:请用
for 循环遍历如下的set,打印出 name: score 来。
s=set([('Lisa',85)('Adam',95)('Bart',59)]) for x in s: print x
打印出:
('Lisa',85) ('Adam',95) ('Bart',59)
利用的tuple的元素位置打印出name:score样式
5、更新set
set存储的是一组不重复的无序元素,更新set有两种情况:
一、把新的元素添加到set中,添加用add()方法
二、把已有元素从set中删除,删除用remove()方法
例子:
s = set([1, 2, 3])
添加: s.add(4)
print s ==> set([1,2,3,4])
删除:s.remove(2)
print s ==> set([1,3,4])
注意:
用add()可以直接添加元素,而remove()前需要判断。
练习:针对下面的set,给定一个list,对list中的每一个元素,如果在set中,就将其删除,如果不在set中,就添加进去。
s=set(['Adam','Paul']) L=['Adam','Lisa','Bart','Paul']
解答:
相关文章推荐
- 零基础入门学习Python(14):集合set()
- python基础数据结构——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- python3入门之集合set
- Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)
- Python基础入门之Dict和Set类型二
- Python基础入门3--list集合,元组,字典
- Python入门教程-09 集合set
- Python零基础入门之十集合
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
- Python基础入门之Dict和Set类型一
- python基础学习——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- 基础入门_Python-模块和包.setdefaultencoding前为何要reload(sys)?
- python入门:基础,列表、元组、字典及集合类型
- [Python入门及进阶笔记]Python-基础-集合小结
- python3入门之集合set
- Python基础之set集合与函数
- 【Python】基础学习——列表(list),元祖(tuple),字典(dict),字符串(string),集合(set)
- Python 基础检索,字典,集合set
- Scala基础入门(十一 ) Vector集合容器使用介绍