立即登录

注册账号

联系我们

2022年4月13日 14:16

4. 数据结构的基本操作

# 列表 元祖 集合 字典 基本数据类型 也可以成为一种数据结构 数据的存储形式

# 列表 增加 删除 修改 查找(索引和切片)

a = [1, 2, 3]
# 增加  append方法 增加到了末尾
a.append(4)
a
a = [1, 2, 3]
# 增加多个  扩展 extend ,另外一个列表(元祖)  
a.extend([5, 6])
# a.extend((9, 10))
a
# 增加时, 用字符串增加
# 1. 把字符串的每一个字符作为一个元素扩展到列表中
# 2. 曾加进来的数据类型是字符串!!!
a.extend('78')
a
# 修改  先查找出,然后赋值
# 修改一个元素
a[6] = 7
a
# 切片修改时要注意,不能把单个元素赋值给切片
# a[-2:] = 9 # 报错
# 可以是iterable 可以是 列表 元祖 字符串(同上,拆分成多个元素)
a = [1, 2, 3, 4, 5, 6, 7, '8']
a[-2:] = [7, 8, 9]
a
# 删除 
a = [1, 2, 3, 4, 5, 6, 7, '8']
# 括号中,可以写删除下标为x的元素, 默认从末尾删除
a.pop() # 按下标删除
a
a = [1, 2, 3, 4, 5, 6, 7, '8']
# 删除某一个
a.pop(3)
a
a = [1, 2, 3, 4, 5, 6, 7, '8']
# 删除多个, 不是用的pop, 用的修改
a[-2:] = []
a
# 按元素删除
a = [1, 2, 3, 4, 5, 6, 7, '8']
a.remove(7)
a
# 按元素删除
a = [1, 2, 3, 4, 5, 6, 7, '8']
a.remove('8')
# a.remove(8) # 报错
a
# 按元素删除
a = [1, 2, 3, 4, 5, 3, 6, 7]
a.remove(3) # 当有多个元素时, 会默认删除第一个
a
# 插入  1. 插入的位置(下标为x的元素前面)  2. 插入的对象
a = [1, 2, 3, 4, 5, 6, 7]
a.insert(3, 8)
a

练习

# 生成一个列表, 列表的元素由 11 - 19 平方
s = []
for i in range(11,20):
    s.append(i**2)
s
# 将一个数插入到已经排序的列表, 保证插入后仍然排序  ★★★★
s = [1,3,4,8,12]
n = input("请输入一个数字: ")
n = int(n)
# 用下标来遍历列表
for i in range(len(s)):
    if s[i] > n:
        s.insert(i,n)
        break
print(s)
# 删除一个列表中7的倍数
s = [3, 7, 21, 25]
m = []
for i in s:
    if i % 7 != 0:
        m.append(i)
print(m)
# 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第
# 二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃前一天剩下的一半零一个。
# 到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少个桃子?★★★★
# 10 9 8 7
# 1  4 10 22 
# (n+1) * 2
n = 1
for i in range(10,0,-1):
    print(f"第{i}天,有{n}个桃子")
    n = (n + 1) * 2

集合

# 集合 并集 交集 差集
a = {1, 2, 4}
b = {2, 4, 5}

# 并集
a | b
# 交集
a & b
# 差集
a - b
# 空集合
a = set()
# 添加一个
a.add(1)
a
# 更新多个
a.update((2,3,4))
a
# 按元素删除
a.remove(3)
a
# 字典
d = {'name':'张三'}
# 索引(查找),用key
d['name']
# 修改,先索引再赋值
d['name'] = '李四'
# 增加,没有键不能索引,但是可以增加
d['age'] = 18
# 删除,把某一个键删除,必须有这个键才可以
d['aaa'] = 'bbb'
del d['aaa']
# 扩展 更新, 合并两个字典
d = {'name': '李四', 'age': 18}
m = {'a':1,'b':2}
d.update(m)
d

通用方法

# 通用方法
# 长度
a = [1, 2, 3]
b = (1, 2, 3)
c = {1, 2, 3}
d = {'a': 1, 'b': 2, 'c':3}
print(len(a))
print(len(b))
print(len(c))
print(len(d))
# 是否包含
a = [1, 2, 3]
b = (1, 2, 3)
c = {1, 2, 3}
d = {'a': 1, 'b': 2, 'c':3}
print(1 in a)
print(1 in b)
print(1 in c)
print(1 in d) # 判断的是键
print(1 in d.values()) # .values()来判断值

 

留言

给我留言