Python面試一百題——列表、元組與字典(2)

目錄

  1. del和pop在刪除列表元素上的區別
  2. 用lambda表達式對列表進行排序
  3. 字典鍵值支持哪些數據類型
  4. 對產生器類型的對象使用切片
  5. 將循環產生的列表變成產生器
  6. 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'>

總結
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章