Python数据结构与常用操作方法

目录

一、列表

1.列表的定义

2.定义空列表

3.列表常用操作

(1)插入操作 

(2)删除操作 

(3)排序操作 

(4)其他操作

二、元组

1.元组的定义

2.定义空元组

3.元组常用操作

三、字典

1.字典的定义

2.定义空字典

3.字典常用操作

四、集合

1.集合的定义

2.集合的常用操作

一、列表

1.列表的定义

它可以存储不同类型的数据,如整数、浮点数、字符串,甚至是其他列表等。列表使用方括号[]来表示,元素之间用逗号分隔。

样例:

# 定义一个列表存储多个值
l3 = [1, 1.11, "hello", 0, None]
print(len(l3),l3[0], l3[len(l3) - 1])

结果:

2.定义空列表

定义空列表有两种方法:

(1):l0 = []
(2):l1 = list()

空列表的返回值为假

样例:

# 定义空列表
l0 = []
l1 = list()

# 打印空列表和类型
print(l0, type(l0))
print(l1, type(l1))

# 空列表的返回值
print(bool(l0), bool(l1))

结果:

3.列表常用操作

(1)插入操作 

append 插入末尾
insert 在指定索引插入
extend 将可迭代内容依次放入列表末尾

样例:

# 定义一个列表
l0 = [1, 3, 5]

# 将元素插入到列表末尾
r = l0.append(7)
print(l0)

# 在指定索引处插入元素(列表下标从0开始)
l0.insert(1, 2)
print(l0)

# 将可迭代内容依次放入列表末尾
l0.extend([8, 9])
print(l0)

结果:

(2)删除操作 

pop 删除指定索引对应的元素,并且返回删除元素  默认删除末尾元素
remove 删除指定元素, 若元素不存在则报错
clear 清空

样例:

# 定义一个列表
l0 = [1, 3, 5, 7, 8, 9]

# 删除指定索引对应的元素
l0.pop(1)
print(l0)

# 删除指定元素
l0.remove(5)
print(l0)

# 清空列表
l0.clear()
print(l0)

结果:

(3)排序操作 

reverse 逆序
sort 排序 默认升序,reverse = True时降序 

样例:

# 定义一个列表
l0 = [1, 2, 3, 5, 2, 4]

# 将列表逆序
l0.reverse()
print(l0)

# 将列表排序,升序输出
l0.sort()
print(l0)

# 将列表排序,逆序输出
l0.sort(reverse=True)
print(l0)

结果:

(4)其他操作

count 统计出现次数
index 返回元素对应索引 找不到报错

样例:

# 定义一个列表
l0 = [1, 2, 5, 2, 2, 3]

# 统计出现次数
r = l0.count(2)
print(r)

# 返回元素对应索引
r = l0.index(5)
print(r)

结果:

二、元组

1.元组的定义

元组是一个有序的、不可变的序列。不可变意味着一旦元组被创建,其元素就不能被修改、添加或删除。元组使用小括号()来表示,元素之间用逗号分隔。例如:tuple=(1, 2, 3)

当元组中只有一个元素时,需要在元素后面添加一个逗号,如tuple=(1,),如果写成single_tuple=(1),Python 会将其视为一个整数 1 而不是一个元组。

2.定义空元组

(1)t0 = ()

(2)t1 = tuple()

空元组的返回值为假

样例:

# 可以使用()或者tuple函数声明元组
t0 = ()
print(t0, type(t0), bool(t0))
t1 = tuple()
print(t1, type(t1), bool(t1))

结果:

3.元组常用操作

(1)count:统计个数

(2)index:找到第一次匹配的索引,找不到报错

样例:

t0 = (10, 20, 20, 20)
print(t0.count(30), t0.index(20))

结果:

三、字典

1.字典的定义

字典是一个无序的键值对的集合。字典使用大括号{}来表示,每个键 - 值对之间用逗号,分隔,键和值之间用冒号分隔。例如:d = {"id" : 101,"name" : "张飞","age" : "20","sex" : "男"}。

2.定义空字典

(1)d0 = {}

(2)d1 = dict{}

样例:

d0 = {}
print(d0, type(d0), bool(d0))
d1 = dict()
print(d1, type(d1), bool(d1))

结果:

3.字典常用操作

(1).keys(): 获得所有键
(2).values: 获得所有值
(3).items(): 获得所有键值对
(4).get() :获取键对应值,没有返回None
样例:

d = {
    "id" : 101,
    "name" : "张飞",
}

# 获得所有键
for key in d.keys():
    print(key)

# 获得所有值
for value in d.values():
    print(value)

# 获得所有键值对
for k,v in d.items():
    print(k,v)

# 获取键对应值,没有返回None
print(d.get("name"), d.get("height"))

结果:

(5).pop(key): 删除指定键  返回值
(6).popitem() : 删除最后一个键值对
(7).clear() : 清空键值对

样例:

d = {
    "id" : 101,
    "name" : "张飞",
    "age" : "20",
    "sex" : "男"
}

# 删除指定键,返回值
r = d.pop("sex")
print(r, d)

# 删除最后一个键值对
r = d.popitem()
print(r, d)

# 清空键值对
d.clear()
print(d)

结果:

(8).update() : 合并键值对,更新值

样例:

d = {
    "id" : 101,
    "name" : "张飞",
}

# 合并键值对
d.update({
    "age" : "20",
    "sex" : "男",
    "id" : 1001
})
print(d)

结果:

四、集合

1.集合的定义

集合是一个无序的、不包含重复元素的容器。集合使用大括号{}或者set()函数来创建。例如:     s = {1, 2, 3}或者s = set([1, 2, 3]),这两种方式都可以创建一个包含元素 1、2、3 的集合。

需要注意的是,如果使用大括号创建空的集合,应该使用set()而不是{},因为{}在 Python 中用于创建空字典。

2.集合的常用操作

(1)add:添加元素
(2)update:合并

样例:

# 添加元素(相同元素集合中只会存在一个)
s1 = set()
s1.add(10)
s1.add(10)
s1.add(20)

# 合并集合
s1.update({20,50})
print(s1)

结果:

(3)pop:删除随机
(4)remove:删除  找不到报错
(5)discard:忽略  找不到不会报错
(6)clear:清空集合

样例:

s1 = {10,20,30,40,50}

# 随机删除元素
s1.pop()
print(s1)

# 删除元素,找不到报错
s1.remove(20)
print(s1)

# 忽略,找不到不会报错
s1.discard(30)
print(s1)

# 清空集合
s1.clear()
print(s1)

结果:

(7)intersection:交集
(8)union:并集
(9)difference:差集
(10)issubset:是否是子集
(11)issuperset:是否是父集

样例:

s1 = {1,3,5}
s2 = {3,5,7}

# s1和s2的交集
s3 = s1.intersection(s2)
print(s3)

# s1和s2的并集
s4 = s2.union(s1)
print(s4)

# s2和s1的差集
s5 = s2.difference(s1)
print(s5)

# s2是否是父集
print(s2.issuperset(s1))
# s2是否是子集
print(s2.issubset(s1))

结果:


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值