字典
列表的特点:
1. 可存放多个值
2.按照从左到右的顺序定义列表元素,下标从0开始顺序访问
3. 列表是有序的
4. 列表也是可变化的,也就是说可以根据列表的索引位置来修改列表的值
列表和元组的区别:
list的是可变的;而tuple(元组)刚好,是不可变的,
列表和字典的区别:
列表示有序的;字典是⽆序的,可以使⽤key-value的⽅式来存储数据。
注意事项:当元组里面只有一个元素的时候,一定要加逗号
以data1={"name":"lisa","age":20,"work":"测试开发工程师"}为例:
首先是使用dir 来查看字典的使用方法,
具体代码如下:
1 data1={"name":"lisa","age":20,"work":"测试开发工程师"}
2 print(dir(data1))
得到结果为:

1:获取字典中所有的key ,
for key in data1.keys():
print(key)
得到结果为:

2:获取所有的value,
for value in data1.values():
print(value)
得到结果为:

3:对字典的循环,
for key,value in data1.items():
print(key,":",value)

key=age,value=20,输出:我今年20岁
for key,value in data1.items(): print(key,value) if key=="age" and value==20: print("我今年20 ")

4.获取key对应的value通常有两种方法,一种是get、一种是data[]。两种方法是等价的。
print(data1.get("name")) print(data1["name"]) print(data1.get("age")) print(data1["age"]) print(data1.get("work")) print(data1["work"])

5.清空
data1.clear() print(data1)

6.删除
print(data1.pop("age")) print(data1)

7.合并
data3={"sex":"女"}
data3.update(data1)
print(data3)

8、排序
按key排序
dict1={"name":"lisa","age":"20","work":"测试开发工程师","sex":"女","language":"go"}
print(dict(sorted
(dict1.items(),
key=lambda i:i[0])))

按velue排序(字典里velue的数据类型必须一致)
dict1={"name":"lisa","age":"20","work":"testdev","sex":"gire","language":"go"}
print(dict(sorted
(dict1.items(),
key=lambda i:i[1])))

'''字符串转列表'''
str1="1,2,3,4
print(str1.split(","))
list7=["1","2","3","4"]
输出结果为['1', '2', '3', '4']
'''列表转化字符串'''
list7=["1","2","3","4"] print(",".join(list7)) 输出结果为1,2,3,4
'''列表转元组'''
listtuple=tuple(list7) print(listtuple) 输出结果为('1', '2', '3', '4')
'''元组转列表'''
tuplelist=list(listtuple) print(tuplelist) 输出结果为['1', '2', '3', '4']
'''列表转化字典'''
list7=["1","2","3","4"] listdict=dict(enumerate(list7)) print(listdict) 输出结果为{0: '1', 1: '2', 2: '3', 3: '4'}
'''字典转化为列表'''
dictlist=list(listdict.values()) print(dictlist) 输出结果为['1', '2', '3', '4']
'''分解出N个信息'''
list7=["python",'google','badu','huawei'] language,*company=list7 print(language) print(company) 输出结果为python ['google', 'badu', 'huawei']
字典实战
data={"datas": [{"author": "wuya","done": True,"id": 1,"name": "Python接口自动化测试实战"},
{"author": "无涯","done": False,"id": 2,"name": "Selenium3自动化测试实战"}],"msg": "ok","status": 0}
print((data.get("datas")[0]).get("name"))
print(data["datas"][1]["name"])

data={ 'answer': "你好呀!", "answer_type": "text", "bid_stat": { "curr_time": "20190515-18:07:37", "err_msg": "微信通用意图.肯定.branches.s_Any@.arguments's element.slot slot does not exist!", "latest_time": "20190523-16:06:33", 'latest_valid': False, "up_ret": -1 }, "msg": [ { "ans_node_id": 6666, "ans_node_name": "小微闲聊", "confidence": 1, "content": "你好呀!", "debug_info": "", "msg_type": "text", "resp_title": "小薇兄你好", "status": "FAQ" } ], "from_user_name": "o9U-85tEZToQxIF8ht6o-KkagxO0", "status": "FAQ", "to_user_name": "10808" } print(data["msg"][0]["resp_title"])

data={"status":0,"msg":"ok","datas":[
{"name":"lisi","age":10},
{"name":"god","age":20,"work":["test",{"language":"Python语言"}]}]}
print(data["datas"][1]["work"][1]["language"])

data={"status":0,"msg":"ok","datas":[
{"name":"lisi","age":10},
{"name":"god","age":20,"work":["test",{"language":"Python语言","school":["北京大学",{"专业":"计算机科学与技术"}]}]}]}
print(data["datas"][1]["work"][1]["school"][1]["专业"])

data1={"status":0,"datas":[
{"name":"lisi","score":90},
{"name":"wangmazi","score":88},
{"name":"wangwu","score":60},
{"name":"zhaosi","score":59},
{"name":"zhaosi","score":29}
]}
需求,对学生成绩进行排序,从低到高排序
list7=[] for i in data1["datas"]: list7.append(i["score"]) list7.sort() print(list7)


浙公网安备 33010602011771号