Lesson 7 元组 字典 集合 浅拷贝和深拷贝

1.元组

  • 1.1 元组简介
    • 元组表现形式tuple。
    • 元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,其他情况下基本都用列表)
      使用()创建元素。
    • 元组不是空元组至少有一个 逗号(,) 当元组不是空元组时括号可以省略。
    • 元组解包指将元组当中的每一个元素都赋值给一个变量。
	`i = ('a','b','c')
print(i,type(i))

在这里插入图片描述
1.2

# 如果元组不是空元组,那么它至少得有一个逗号
tuple1 = (1,)
print(tuple1, type(tuple1))

在这里插入图片描述
1.3(1)

# len()
i = ('a','d','f','w')
print(len(i))

在这里插入图片描述
(2)

# max(),min()
i = ('a','d','f','w')
print(min(i))
print(max(i))

在这里插入图片描述
(3)

# in , not in
i = ('a','d','f','w')
print('a' in i)
print('a' not in i)

在这里插入图片描述
(4)

# indes(),count()
i = ('a','d','f','w')
print(i.index('a'))
print(i.count('a'))

在这里插入图片描述

  • 1.2 元组的拆包
    • 1.在对一个元组拆包的时候,变量的数量和元组中元素的数量要把持一致,
tuple1 = (1,2,3,4,5,6)
a ,b ,c ,d ,e ,f = tuple1
print('a',a)
print('b',b)
print('c',c)
print('d',d)
print('e',e)
print('f',f)

在这里插入图片描述
如果变量和元素不一致

tuple1 = (1,2,3,4,5,6)
a ,b ,c ,d ,e = tuple1
print('a',a)
print('b',b)
print('c',c)
print('d',d)
print('e',e)

在这里插入图片描述
会报错

如果变量和元素不一致,就可以在变量前面加上一个*,这样会获取元组中剩余的元素,以列表的形式返回

tuple1 = (1,2,3,4,5,6)
a ,b ,c ,d ,*e = tuple1
print('a',a)
print('b',b)
print('c',c)
print('d',d)
print('e',e)

在这里插入图片描述

2.字典

第1种创建方式

# {key: value}  可以通过key查询到value这个值, 所以我们也称之为键值对, 每一个键值对我们称呼为一项(item)
# {}  dict 字典
d = {'name': '凯影'}
print(d,type(d))

在这里插入图片描述

第2种创建方式

d1 = dict(name= 'kaiying',sect='yingliu')
print(d1,type(d1))

在这里插入图片描述
3.
第3种创建方式

# 双值子序列
# 双值序列  [1, 2], (1, 2),  'ab'
# 子序列   ['a']  数据类型嵌套
# 双值子序列  [(1, 2), (3, 4)]
list1 = [(1, 2), (3, 4)]
d = dict(list1)
print(d,type(d))

在这里插入图片描述

# 当字典中的key有重复的时候,后面的数据会替换前面的数据
d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
    'name':'劫'
}
print(d['name'])

在这里插入图片描述
5

 # 浅拷贝
d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
}
d1 = d.copy()
print(id(d),id(d1))
print(id(d['name']),id(d1['name']))

在这里插入图片描述
增删检查

# 查找
d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
}
print(d.get('name','不存在'))
# 修改
d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
}
d['name']='劫'
print(d)
# 添加
d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
}
print(d.setdefault('sd','不存在'))
print(d)
# 添加 update()  讲其他的字典当中的key-value添加到当前的字典中
d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
}
d1 = {1: '1', 2: '2'}
d.update(d1)
print(d)
# 删除
# del  删除字典中的key-value
d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
}
del d['name']
print(d)
# pop(key, default)
d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
}
res = d.pop('name')
print(res)
print(d)
# popitem() 随机删除一个键值对,一般都是删除最后一个
# 他会将删除后的键值对作为返回值返回
d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
}
res = d.popitem()
print(res)
print(d)
# clear()  清空字典
d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
}
d.clear()
print(d)

字典的遍历

d = {
    'name':'凯影',
    'Sect':'影流',
    'situation':'孤儿',
}

for k in d.keys():
    print(d[k])

for k, v in d.items():
    print(k, '=', v)

在这里插入图片描述

3.集合

  • 3.1 集合简介
    • 使用{}来创建集合
      在这里插入图片描述

    • 可以通过set()来将序列和字典转换成集合
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • len() 使用len()来获取集合中元素的数量
      在这里插入图片描述

    • add()像集合中添加元素
      在这里插入图片描述

    • update()将一个集合中的元素添加到另一个集合当中
      在这里插入图片描述

    • pop()随机删除集合中的一个元素
      在这里插入图片描述

    • remove() 删除集合中指定的元素
      在这里插入图片描述

    • clear() 清空集合
      在这里插入图片描述

4.作业

1

# a = {"name":"123","data":{"result":[{"src":"python1"},{"src":"python2"},{"src":"python3"}]}}
# 找到python1/python2/python3
a = {"name":"123","data":{"result":[{"src":"python1"},{"src":"python2"},{"src":"python3"}]}}
b = a.get('data')
c = b.get('result')
d = c[0]
e = c[1]
g = c[2]
print(d.get('src'))
print(e.get('src'))
print(g.get('src'))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值