数据类型
1.序列(列表(list[])、元组(tuple())、字符串(str))
2.映射(字典{})
3.集合(集合{})
1.序列类型
1.成员运算符
1.in
2.not in
2.分片运算符
[ start : end :step ]
3.算术运算符
加 : + eg:[1,2]+[2,3] =[1,2,2,3]
减:* eg:[1,2]*3=[1,2,1,2,1,2]
4.常用的函数
len()
min()
max()
s.index(x[,i[j]])
s.count(x)
2.列表
列表是可变的,可修改的,元素的数据类型可以不同
1.列表的方法
ls[i] = x 第i项元素替换为x
ls[i:j] = lst 把列表lst替换列表ls中第i到j个元素
ls[i:j:k]=lst 用列表lst替换列表ls中第i到j以k为步长的元素
del ls[i:j] = 删除列表i到j的元素
del ls[i:j:k] =删除列表lst替换列表ls中第i到j以k为步长的元素
ls += lst or ls.extend(lst) 将lst列表追加到ls列表
ls *= n 是列表中的元素重复n次
ls.append(x)在ls列表最后添加x元素
ls.clear() 删除ls列表中的所有元素
ls.copy() 复制出一个包括ls列表所有元素的新列表
ls.insert(i,x) 在ls列表的第i项位置增加x元素
ls.pop(i) 删除ls列表中的i项元素,并打印返回值
ls.remove(x) 删除ls列表中第一次出现x值的元素
ls.reverse(x) 反转ls列表中的所有元素
ls.sort() 对列表ls进行排序
2.遍历列表
for循环遍历列表:
lst = [1,2,3,4,5,6,7]
for i in lst :
print(i,end=',')
whlie 循环遍历列表:
lst = list(range(1,101,2))
i = 0
result=[]
while i<len(lst):
result.append(lst[i])
print(result[i])
i += 1
print(result)
3.元组
元组是包括0个或多个元素的不可变序列类型,但是拥有索引,不能被修改、替换、删除
1.元组的基本操作
元组的元素是不可变的,通常使用“()”创建。
创建元组:
tup1 = ('padakfn','afafaa','2003',2023) 元组中可以包含不同的数据类型
tup2 = "a","b","c" 声明元组时可以省略括号
tup3 = (50,) 元组只有一个元素,逗号不可省略
tup5 = ((1,2,3),(4,5),6)
元组连接:
tup3+tup2 =(3,'a','b','c')
索引访问元组元素:
tup2[0] = 'a'
常用函数:
len()
max()
min()
tup1.index(2023) => 3 当元素不存在时,运行报错
help(tuple)
元组与列表的转换
tup1 = (123,456,789,'abc')
元组=>列表 lst1 =list(tup1)
列表=>元组 tup2 = tuple(lst1)
4.字典
字典可以看作由键值对构成的列表,是无序的,以映射的方式显示。
1.字典的基本操作
创建字典:
空字典:dict = {}
键值对自字典: dict1 = {"name":"li","age":18}
dict()函数关键字创建字典: dict2 =dict(name="li",age=18)
dict()函数键值对序列: dict3 =dict([('name','li'),('age',18)])
检索字典元素:
成员运算符 : in
key in dicts 判断指定的键值是否在字典中 获得值 dicts['key']
关键字检索
dict1['name'] => li
添加与修改字典元素:
dict1 = {"name":"li","age":18}
修改:dict1["name"] = "wang" => dict1 = {"name":"wang","age":18}
添加:dict1["high"] = 175 => dict1 = {"name":"wang","age":18,"high":175}
2.字典的常用方法
dicts.keys() 返回字典所有键的信息
dicts.values() 返回字典所有值的信息
dicts.items() 返回字典所有键值的信息
dicts.get(key,defualt) 判断键是否存在,存在返回键的值,不存在返回默认值
dicts.pop(key,defualt) 判断键是否存在,存在返回键的值,同时删除键值对,不存在返回默认值
dicts.popitems() 随机返回字典中的一个键值对,以元组的形式(key,value)
dicts.clear() 删除所有的键值对
del dicts[key] 删除指定的键值对
key in dicts 以布尔值判断键是否在字典中
dict.copy() 复制字典,两个字典的存储id不同
dict1.updata(dict2) 更新字典,相同的键以字典2为替换,字典1被替换
5.集合
集合是0个或多个元素组成的无序集合。并且集合是可变但不重复的。
1.集合的基本操作
创建集合
set_one = set{"math"}
创建空集合 => set{}
把列表转为集合 => set_two =set{[1,2,3,4,5,6]}
2.集合的常用操作
sets.add(x) 添加元素,如果集合sets中不存在x元素则添加
sets.clear() 删除sets集合中所有的元素
sets.copy() 复制集合sets,创建一个新的副本
sets.pop() 随机删除sets集合的一个元素,如果sets集合为空则报错
sets.discard(x) 如果x元素在sets集合中则移除元素,不存在不执行任何操作与响应
sets.remove() 如果x元素在sets集合中则移除元素,不存在时会产生keyerror错误
sets.isdisjoint(T) 判断两个集合中是否存在相同的元素,没有相同的元素返回True
len(sets) 返回集合sets元素个数
遍历集合:
set_one = set{"math"}
for i in set_one:
print(x,end="")
3.集合运算
set_one{1,2,3,,4,5}
set_two{3,4,5,6,7}
S&T or S.intersaction(T) 交集:返回一个新集合,包括同时在S和T中的元素 =>{3,4,5}
S|T or S.union(T) 并集:返回一个新集合,包括S和T中的所有元素 =>{1,2,3,4,5,6,7}
S-T or S.difference(T) 差集:返回一个新集合,包括在S但不在T中的元素 =>{1,2}
S^T or S.symmetric_difference_update(T) 补集:返回一个新集合,包括在S但不在T中的元素 =>{1,2,6,7}
S<=T or S.issubset(T) 子集测试: 等价于S<T判断S集合是否为T的真子集,是返回True,不是返回False
S>=T or S.issuperset(T) 超集测试:等价于S>T判断S集合是否为T的真超集,是返回True,不是返回False