0.python的数据类型
数据类型 | 增加 | 删除 | 说明 |
---|---|---|---|
list : | .append() | .pop() | list是一种有序的集合,可以随时添加和删除其中的元素。 |
tuple: | ——— | ——— | 和list非常类似,但是tuple一旦初始化就不能修改 |
set: | .add() | .remove() | set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。 |
dict: | ——— | .pop() | 在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 |
1.字典类型
使用灵活方便
- 键:键必须是不可变的,如字符串,数字或元组。
- 值:可以为任意类型
字典类型遍历键值函数:
dict.item()
以列表返回可遍历(键-值)元组数组
由于列表能进行对应的操作(切片等),字典存储信息更方便,常规的做法为:建立一个空的列表,通过遍历去取字典里的元素
def reverse_lookup(d, val):
keys = []
for k, v in d.items(): # .items把字典变为可以遍历的键值对元组数组。
if val == v:
keys.append(k)
return keys
2.python迭代器:
_ getitem _( ) 作为迭代器,能直接进行使用
- iter 创建对应迭代器
- next 给出下一个数据
tips : 在用 for…in… 迭代对象时,如果对象没有实现 __ iter __ , __ next __ 迭代器协议,Python的解释器就会去寻找__getitem__ 来迭代对象.
3.python切片
Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。
格式:【start:end:step】
start:起始索引,从0开始,-1表示结束
end:结束索引
step:步长,end-start,步长为正时,从左向右取值。步长为负时,反向取值
注意切片的结果不包含结束索引,即不包含最后的一位,-1代表列表的最后一个位置索引
几种常见的省略方式:
- b1=a[:]
- 省略全部,代表截取全部内容,可以用来将一个列表拷给另一个列表
print(b1)
结果:[1, 2, 3, 4, 5, 6] - b=a[0: -1:1]
- 从位置0开始到 结束位置结束,每次增加1,截取。不包含结束索引位置
print(b)
结果:[1, 2, 3, 4, 5] - c1=a[:3]
- 省略起始位置的索引,以及步长。默认起始位置从头开始,默认步长为1,结束位置索引为3
print(c1)
结果:[1, 2, 3] - c=a[0:5:3] #从第一个位置到第6个位置,每3个取一个值
print( c)
结果:[1, 4]
4.python列表推导式
以前博文都是富文本写的,由于markdown和富文本无法直接拷贝,只能在这里给个链接。
【见链接】