- # 字符串
- # 数组 list: 有序(有下标)
- # 字典{
- key:value
- } dict: 无序
dict 格式如下:
- stu_info={
- 'username':'小明',
- 'password':'123456',
- 'tel':13254576487,
- 'add':'北京'
- }
- # 创建 / 定义 字典
- d1={}# 创建空字典
- d2=dict()# 创建空字典
- # 为字典增加元素
- d1['name']='小华'
- d1['class']='狮子座'
- d1.setdefault('class','双子座')# 不存在时会赋值; 已存在时, 不修改原来的值
- print(d1)# 打印字典 d1
- print(d1['name'])# 打印字典 d1 中的元素 name 的 value; #字典中的 key:name 不存在时报错: KeyError
- print(d1.get('names',0))# 打印字典 d1 中的元素 name 的 value;# 字典中的 key:name 不存在 (且未指定返回值) 时默认 none, 否则返回指定返回值(不报错).
- print(d1.keys())# 取字典中所有的 key
- print(d1.values())# 取字典中所有的 value
- # 删除
- # d1.pop('name')
- # del d1['name']
- # d1.popitem()# 随机删除一个元素
- # d1.clear()# 清空
- # update 的用法详解:
- d1={
- 'name':'xiaohua',
- 'age':18
- }
- d2={'name':'abc','addr':'北京'}
- print(d1)
- d1.update(d2)#update: 兼具更新和 extend 的功能(存在时: update; 不存在时: extend)
- print(d1)
- # 示例: 按指定顺序显示占位
- s3='insert into user value ({username},{password},{tel})'
- # new_s3=s3.format(password='123456',tel=110,username='abcd')# 传字符
- new_s3=s3.format_map(# 传字典
- {'password':123456,
- 'username':"abcd",
- "tel":110}
- )
- print(new_s3)
- # list 循环时, 循环的是 list 中的每个元素.
- # 字典嵌套字典嵌套 list:
- stus={
- "胖妞":{
- 'house':['三环','四环','七环'],
- 'car':{
- "日本":['雷克萨斯','英菲尼迪'],
- "中国":['东风','红旗','比亚迪','宝骏'],
- "美国":['福特','凯迪拉克']
- },
- "化妆品":{
- 'sk-2':1000,
- "YSL":800
- }
- }
- }
- car=stus['胖妞']['car']#{'日本': ['雷克萨斯', '英菲尼迪'], '中国': ['东风', '红旗', '比亚迪', '宝骏'], '美国': ['福特', '凯迪拉克']}
- #print(car.values())#[['雷克萨斯', '英菲尼迪'], ['东风', '红旗', '比亚迪', '宝骏'], ['福特', '凯迪拉克']]
- car.values(2)(0)='美车'
- print(car)
- all_count=0
- for c in car.values():
- all_count=len(c)+all_count
- print('胖妞共有'+str(all_count)+'辆车')
- car['德国']=['奥迪','奔驰']# 胖妞又买了德国车: 奥迪和奔驰
- del stus['胖妞']['化妆品']['sk-2']# 删除胖妞的化妆品 sk-2
- # 胖妞又在四环买了套房
- house=stus['胖妞']['house']
- house.append('四环')
来源: http://www.bubuko.com/infodetail-3057701.html