一、元组
元组,提示别人,这个值是不能被改变的,元组的定义方式是用(),小括号;
元组只有两个方法,那就是count和index
mysql1 = ('127.0.0.1',3306,'my','root',123456)
mysql2 = ('127.0.0.1',3307,'my','root','root')
print(mysql1.count('my'))#找个数
print(mysql1.index('my'))#返回下标
输出:1 2
print(mysql2.count('root'))#找个数
print(mysql2.index('root'))#返回下标,且为第一个返回值
输出:2 3
#元组也是list,只不过是不可变的
二、字典
特性:
字典是无序的,因为它没有下标,用key来当索引,所以是无序的
字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重
1、查看
d = { 'name':'test001',
'age':18,
'sex':'男',
'addr':'昌平区',
'money':10000000 ,
}
print(d['name'])#如果写了不存在的key,会报错
print(d.get('SDFSDF'))#如果get不到的话,返回None
输出: test001
None
2、增加
d = { 'name':'test001',
'age':18,
'sex':'男',
'addr':'昌平区',
'money':10000000 ,
}
d['height']=198
d.setdefault('weight',130)#字典是无序的
d = {'marry':[18,'北京'],'amy':[20,'山东'],'lily':[25,'河南']}
d['andy']=[22,'河北']#增加
print(d.keys())#获取到字典所有的key
print(d.values())#获取到所有的values
输出:dict_keys(['marry', 'amy', 'lily', 'andy'])
dict_values([[18, '北京'], [20, '山东'], [25, '河南'], [22, '河北']])
3、修改
d = { 'name':'test001',
'age':18,
'sex':'男',
'addr':'昌平区',
'money':10000000 ,
'height':198
}
d['shengao']=200 #如果这个key存在的话,修改他的值,如果key不存在的话,新增一个
print(d.keys())#获取到字典所有的key
print(d.values())#获取到所有的values
4、删除
d = { 'name':'test001',
'age':18,
'sex':'男',
'addr':'昌平区',
'money':10000000 ,
'height':198
}
d.pop('height')#删除某个key
del d['addr']#删除某个key
d.popitem()#随机删除一个(一般删除末尾对)
d.clear()#清空字典
print(d.keys())#获取到字典所有的key
print(d.values())#获取到所有的values
注意:
# res = list(d.items())
# print(res[0])
# for k in d: #性能更好
# print(k,d.get(k))
5、嵌套
stus = {
'user1': {
'age': 18,
'sex': '男',
'addr': '昌平区',
'money': 10000000,
'jinku': {
'建行卡': 80000,
'工商卡': 800000,
'招商卡': 8000000
}
},
'user3': {
'age': 19,
'sex': '女',
'addr': '昌平区',
'money': 10000000,
"bag": {
'lv': 20,
'prada':10
}
},
}
方法一:
a = stus['user3']['bag'].values()
print(a)
print(sum(a))
方法二:
all_money = stus['user1']['jinku'].values()
sum_money = 0
for money in all_money:
sum_money= sum_money+money
print(sum_money)
总结:可变变量 :list、字典;不可变变量:元组、字符串