- dict字典
- 定义:
在其他语言中也称为map,使用键-值(key-value)存储,采用{}。
具有极快的查找速度。这种key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value。把数据放入dict的方法,
- 创建:
除了初始化时指定外,还可以通过key放入。由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉。
要避免key不存在的错误,有两种办法,一是通过in判断key是否存在
二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value
- 字典的方法
dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象。
这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。
要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key:
2. 集合(set)
a.. 特性
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
b 创建
要创建一个set,需要提供一个list作为输入集合,set的结果是表示这个集合中的元素,没有顺序,不重复
C 方法
通过add(key)
方法可以添加元素到set中,可以重复添加,但不会有效果:
通过remove(key)
方法可以删除元素:
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
- 判断语句(要求掌握多条件判断)
根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。
也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了。注意不要少写了冒号:。
if语句的完整形式
if <条件判断1>:
<执行1>elif <条件判断2>:
<执行2>elif <条件判断3>:
<执行3>else:
<执行4>
对于input()内容的时候,需要对input的数据类型进行改变,变为int
- 三目表达式
a if b else c
表示如果 b
为 True
,则表达式等于 a
,否则等于 c
。
取极大值 c = (a if(a > b) else b)
5. 循环语句
python的循环有两种,
一种是for...in循环,依次把list或tuple中的每个元素迭代出来,for x in ...
循环就是把每个元素代入变量x
,然后执行缩进块的语句。
range()
函数,可以生成一个整数序列,再通过list()
函数可以转换为list。可以解决一些繁琐的事情。list(range(100))
第二种:while循环,只要条件满足,就不断循环,条件不满足时退出循环。在循环中,break
语句可以提前退出循环。过continue
语句,跳过当前的这次循环,直接开始下一次循环。
要特别注意,不要滥用break
和continue
语句。break
和continue
会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break
和continue
语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉break
和continue
语句。
如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C
退出程序,或者强制结束Python进程
参考网址: