书本学习笔记_pyhton的组合数据类型

数据类型

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

猜你喜欢

转载自blog.csdn.net/date3_3_1kbaicai/article/details/132462596
今日推荐