目錄
- del和pop在刪除列表元素上的區別
- 用lambda表達式對列表進行排序
- 字典鍵值支持哪些數據類型
- 對產生器類型的對象使用切片
- 將循環產生的列表變成產生器
- Python字典與JSON字符串如何互轉
11.del和pop在刪除列表元素上的區別
13.用lambda表達式對列表進行排序
a =[
{'name': 'Bill', 'age': 40},
{'name': 'Mike', 'age': 10},
{'name': 'John', 'age': 20}
]
print(sorted(a, key=lambda x:x['age']))
[{'name': 'Mike', 'age': 10}, {'name': 'John', 'age': 20}, {'name': 'Bill', 'age': 40}]
a.sort(key=lambda x:x['age'], reverse= True)
print(a)
[{'name': 'Bill', 'age': 40}, {'name': 'John', 'age': 20}, {'name': 'Mike', 'age': 10}]
總結
13.字典鍵值支持哪些數據類型
列表和字典類型不能作爲鍵值
因爲 key 是不能變的,但列表和字典的值是可以變化的,一旦變化就再也找不到對應的 value 了
14.對產生器類型的對象使用切片
from itertools import islice
gen = iter(range(10))
print(type(gen))
for i in islice(gen, 2, 6):
print(i, end=' ')
總結
15.將循環產生的列表變成產生器
a = [i for i in range(10)]
print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(type(a)) # <class 'list'>
b = (i for i in range(10))
print(type(b)) # <class 'generator'>
for i in b:
print(i, end=' ')
# 0 1 2 3 4 5 6 7 8 9
x = (1, 2, 3, 4)
print(type(x)) # <class 'tuple'>
總結
沒有for的話,將變成一個元組
16.Python字典與JSON字符串如何互轉
import json
a = {'a': 1, 'b': '2', 'c': 'x'}
print(a) # {'a': 1, 'b': '2', 'c': 'x'}
print(type(a)) # <class 'dict'>
json_str = json.dumps(a)
print(json_str) # {"a": 1, "b": "2", "c": "x"}
print(type(json_str)) # <class 'str'>
a1 = json.loads(json_str)
print(a1) # {'a': 1, 'b': '2', 'c': 'x'}
print(type(a1)) # <class 'dict'>
總結