字典-dict(无序)
# 字符串 # 数组 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('四环')