1. dict字典
1.1 定义
字典:dict,全称dictionary,是python的一种数据类型,使用建-值(key-value)存储,具有极快的查找速度。假设要根据学生的名字查找成绩,如果用list的话需要两个列表:
------------------------------------------------------
>>> names = ['Tom', 'Jim', 'Bob']
>>> scores = [95, 100, 90]
------------------------------------------------------
给定一个名字,要查询对应的成绩,需要先在names中找到对应的位置,再从score中取出相应的成绩,list越长,耗时越长,且需确保names和scores一一对应。
如果用dict实现,则只需一个“名字”—“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢,并且不容易出错。
----------------------------------------------------------------------------
>>> d = {'Tom':95, 'Jim':100, 'Bob':90}
>>> d['Tom']
95
----------------------------------------------------------------------------
1.2 创建
dict用大括号('{ }')创建,key和value间用冒号(':')连接。 d = {'Tom':95, 'Jim':100, 'Bob':90}
----------------------------------------------------------------------------
1.3 字典的方法
1. 修改key的value
----------------------------------------------------------------------------
>>> d = {'Tom':95, 'Jim':100, 'Bob':90}
>>> d['Bob'] = 93
>>> d['Bob']
93
----------------------------------------------------------------------------
2. 添加新的key和value:
----------------------------------------------------------------------------
>>> d = {'Tom':95, 'Jim':100, 'Bob':90}
>>> d['Adam'] = 85
>>> d
{'Tom': 95, 'Jim': 100, 'Bob': 93, 'Adam': 85}
----------------------------------------------------------------------------
3. 删除一个key:用pop(key)方法,对应的value也会从dict中删除。
----------------------------------------------------------------------------
>>> d
{'Tom': 95, 'Jim': 100, 'Bob': 93, 'Adam': 85}
>>> d.pop('Bob')
93
>>> d
{'Tom': 95, 'Jim': 100, 'Adam': 85}
>>>
----------------------------------------------------------------------------
也可以用del将字典中的key-value对删除。使用del时,必须指定字典的名字和要删除的键。
----------------------------------------------------------------------------
>>> d = {'Tom':95, 'Jim':100, 'Bob':90}
>>> del d['Tom']
>>> d
{'Jim': 100, 'Bob': 90}
----------------------------------------------------------------------------
4. 遍历字典
items()可以返回一个key—value对中的key和value:
keys()可以返回一个key—value对中的key:
values()可以返回一个key—value对中的value:
2. 集合set
2.1 特性
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以在set中,没有重复的key。
2.2 创建
用小括号(‘( )’)创建set,创建一个set,需要提供一个list作为输入集合,不用list的话会报错。重复的元素在set中会自动被过滤。
----------------------------------------------------------------
>>> s = set([1, 1, 2, 3, 4])
>>> s
{1, 2, 3, 4}
----------------------------------------------------------------
2.3 方法
1. 添加元素:add(key)
------------------------------------------------------------------------------
>>> s = set(['Tom', 'Jerry', 'Jim'])
>>> s.add('Bob')
>>> s
{'Jim', 'Tom', 'Bob', 'Jerry'}
------------------------------------------------------------------------------
2. 删除元素:remove(key)
------------------------------------------------------------------------------
>>> s = set(['Tom', 'Jerry', 'Jim'])
>>> s.remove('Tom')
>>> s
{'Jim', 'Jerry'}
------------------------------------------------------------------------------
3. set可以看成数学上的无序、无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作。
4. set和dict的唯一区别在于没有存储对应的value,但是set与dict一样,都不能放入可变对象,因为无法判断两个可变对象是否相等。
3. 判断语句(要求掌握多条件判断)
判读语句的使用如下:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
4. 三目表达式
三目表达式的语法如下:
(判断语句为真是输出的内容) if (判断语句) else (判断语句为假时输出的内容)
三目运算支持嵌套:
5. 循环语句
1. for...in 循环:依次把list或tuple中的元素迭代出来。如下面这段代码可以依次打印出names中的名字。
因此,for x in ... 就是把list或tuple中的各元素依次代入变量x。
2. while循环:只要满足条件就一直循环,条件不满足时退出循环。如计算100以内所有奇数的和,就可以用while循环实现。
网友评论