所有非数字型变量都支持:
- 取值 [ ]
- 遍历 for in
- 计算长度、最大最小值、比较、删除
- 连接 + 和重复 *(字典不可以重复 ∵键唯一)
- 切片
公共方法
内置函数
切片
运算符
List列表
list 是 python 的内置数据类型,list 中的数据类型不必相同,
在 list 中保存的是指针,并非数据。
尽管列表中可以存储不同类型的数据,但是在开发中更多的应用场景是
- 存储相同类型的数据
- 通过迭代遍历,在循环体内部针对列表中的每一项元素,执行相同的操作
取值 L[1]
除了支持正向顺序索引获取列表中的每一个元素以外,也支持倒序访问list中的每一个元素。
取索引 L.index ("a")
二维list
tuple元组
可以使用for in遍历元组,但是在开发中,更多的应用场景是:
- 函数的参数和返回值,一个函数可以接收任意多个参数,或者一次返回多个数据
- 格式字符串,格式化字符串后面的()本质上就是一个元组。
- 让列表不可以被修改,以保护数据安全
tuple的元素也可以是tuple
T = tuple(L) L = list(T) 可以将列表L与元组T相互转换
对于仅包含基础数据类型(数字类型、布尔类型、字符串类型)的数据,tuple是固定不变的,不可修改元素,不可增加;对于组合数据类型,则不受这个约束。
定义只包含一个元素的元组要在元素末尾加","
T.count(x)统计x出现的次数
T.index(x)返回x第一次出现的下标位置
dict字典
可以使用 for in遍历字典,但是在开发中,更多的应用场景是:
- 使用多个键值对,存储描述一个物体的相关信息——描述更复杂的数据信息
- 将多个字典放在一个列表中,再进行遍历,在循环体内部针对每一个字典进行相同的处理
保存映射关系,每一项包含一个key(必须是不可变类型)和一个value
访问元素:d[key]
添加和修改元素:d[key] = value 当key不存在时,往dict中添加元素;key存在时,更新dict;
删除元素:d.pop(key) clear()清空
统计键值对数量 len(d_name)
合并字典 d1.update(d2) 如果有键相同的,覆盖原有的键值对
set集合
元素无序,不可重复
访问元素:由于set里面的元素是无序的,不能像list那样通过索引来访问。可以使用in来判断某个元素是否在set中。
删除元素:set.remove(x) 需要提前判断要remove()的元素是否在set里面,确保存在后,再remove,否则会报错。
set.discard(x) 要删除的元素不存在也不会报错会报错。
set.clear() 清除所有元素
判断两集合是否重合:s1.isdisjoint(s2) 如果有重合,返回False,否则返回True。也可直接使用位运算符 s3 = s1 & s2,s3即重复的元素结果为空就代表无重复;类似的还有集合求并s1|s2。s1-s2去掉s1中在s2里的元素。
s1 = set([1, 2, 3, 4, 5])
s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
flag = s1.isdisjoint(s2)
if not flag:
for a in s1:
if a in s2:
print(a)
string字符串
len(s)获取字符串的长度
s1.count(s2)s2在s1中出现的次数
字符串[索引]从字符串中取出单个字符
numpy.array:数组
array() 是 numpy 包中的一个函数,array 里的元素都是同一类型。
list可当作数组使用,但list中元素不一定相同,因此存放的是指针,但为了保存一个简单的列表[1,2,3]。就需要三个指针。对于数值运算来说不够高效。“Python虽然也提供了array模块,但其只支持一维数组,不支持多维数组(在TensorFlow里面偏向于矩阵理解),也没有各种运算函数。因而不适合数值运算。”