核心编程基础第7天
1. 元组
'''
1.元组是一个不可变序列,用于数据不希望被修改的时候
2.通过索引查找 value [索引]
3.元组使用()来表示的
4.如果元组不是空元组,那么它里面至少有一个 逗号
'''
tuple1=(1,2,3,4,5)
print(type(tuple1))
print(tuple1[1])
tuple2=(10)
tuple2 =(10,)
print(type(tuple2))
'''
1.拆包就是进行分别赋值
2.变量个数必须和元素个数相等,否则报错
'''
tuple3 = (1,2,3,4,5,6)
a,b,c,d,e,f=tuple3
a,b,*c=tuple3
a,*b,c=tuple3
print(a,b,c)
print(type(c))
str1='abcedf'
a,b,c,*g=str1
print(a,b,c,g)
print(type(str1))
print(type(a))
print(type(g))
2. 字典
'''
1.dict1={} 空字典
2.数据类型 {key:value} 这么一个key:value称它为一项 或者一个键值对
'''
dict1 = {"name":"郭靖",'age':30,'gender':'男'}
dict2 = dict(name='郭靖',age=30,gender='男')
print(dict1)
print(dict2)
print(len(dict1))
dict2 = {
"name":"郭靖",
'age':30,
'gender':'男',
"name":"黄蓉"}
print(dict2)
dict3=dict([('name','郭靖'),('age',30),('gender','男')])
print("dict3",type(dict3))
import collections
d1=collections.OrderedDict([('name','郭靖'),('age',30),('gender','男')])
print(type(d1))
dict4 ={
"name": "郭靖",
'age': 30,
'gender': '男',
"name": "黄蓉"
}
'''
双值子序列:d1=collections.OrderedDict([('name','郭靖'),('age',30),('gender','男')])#collections.OrderedDict
双值序列:序列中有两个值 [1,2] 'ab' (a,b) 就是有两个值
子序列: 如果序列中的二元素也是序列['a','b']
#创建字典:也可以通过双值子序列创建
dic5=dict([('name','郭靖'),('age',30),('gender','男')])
'''
dict5=dict([('name','郭靖'),('age',30),('gender','男')])
print(type(dict5))
'''
len() 函数获取字典中的键值对个数
in not in 检验字典中是否(不)包含指定的 key 键
'''
print(len(dict5))
print('name' in dict5)
print('姓名' in dict5)
print(dict5['name'])
print(dict5.get('name','没有找到'))
print(dict5.get('姓名','没有找到'))
dict5['gongfu']='七十二变'
print(dict5)
dict5['name']='杨过'
print(dict5)
result = dict5.setdefault('name','郭襄')
result = dict5.setdefault('name2','小龙女')
print(result,dict5)
d11={
1:'1',
2:'2'
}
dict5.update(d11)
print(dict5)
d11.update(dict4)
print(d11)
del d11['name']
print(d11)
result=d11.popitem()
print(result)
result = d11.pop('age','找不到')
print(result)
d11.clear()
print(d11)
print("最后一次执行")
3. 深拷贝和浅拷贝
'''
'''
dict1 ={
"name": "郭靖",
'age': 30,
'gender': '男',
'a':{1:'a',2:'2'}
}
import copy
dict2=copy.deepcopy(dict1)
dict1['name']='黄蓉'
dict1['a'][1]='3'
print(dict1)
print(dict2)