按存储空间的占用分(从低到高)
- 数字
- 字符串
- 集合:无序,即无序存索引相关信息
- 元组:有序,需要存索引相关信息,不可变
- 列表:有序,需要存索引相关信息,可变,需要处理数据的增删改
- 字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改
按存值个数区分
| 标量/原子类型 | 数字,字符串 | | :—- | :—- | | 容器类型 | 列表,元组,字典 |
按可变不可变区分
| 可变 | 列表,字典 |
|---|---|
| 不可变 | 数字,字符串,元组,布尔值 |
按访问顺序区分
| 直接访问 | 数字 |
|---|---|
| 顺序访问(序列类型) | 字符串,列表,元组 |
| key值访问(映射类型) | 字典 |
其他(for,enumerate,range)
for 循环
用户按照顺序循环可迭代对象的内容。
s = '先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。'for i in s:print(i)li = ['甲','乙','丙','丁']for i in li:print(i)dic = {'a':1,'b':2,'c':3}for k,v in dic.items():print(k,v)
enumerate:枚举
对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。
li = ['甲','乙','丙','丁']for i in li:print(i)for i in enumerate(li):print(i)for index,value in enumerate(li):print(index,value)for index,value in enumerate(li,100): #从哪个数字开始索引print(index,value)
range
指定范围,生成指定数字
for i in range(1,10): #顾头不顾尾print(i)for i in range(1,10,2): # 步长print(i)for i in range(10,1,-2): # 反向步长print(i)

