十二、字典(下):字典的巢狀
阿新 • • 發佈:2018-12-17
(一)、字典列表
字典列表,顧名思義就是以字典為元素的列表
# 三個字典儲存三個學生的資訊
student_0 = {'name': 'zhangsan', 'age': '18'}
student_1 = {'name':'lisi', 'age': '20'}
student_2 = {'name': 'wangwu', 'age':'18'}
# 建立一個列表,元素是字典
students = [student_0, student_1, student_2]
# 遍歷列印列表中的值
for student in students:
print(student)
執行結果如下
{'name': 'zhangsan', 'age': '18'} {'name': 'lisi', 'age': '20'} {'name': 'wangwu', 'age': '18'}
(二)、在字典中儲存列表
不僅列表可以儲存字典,字典也可以儲存列表
# 建立一個字典,值為列表 favorite_lanaguages = { 'Tom': ['Java', 'Python'], 'Aidi': ['C', 'C++'], } # 遍歷列印字典 for name, lanaguages in favorite_lanaguages.items(): print("\nname: " + name) print("favorite_lanaguage: ") # 值為列表,所以用 for 遍歷 for lanaguage in lanaguages: print(lanaguage)
執行結果如下
name: Tom
favorite_lanaguage:
Java
Python
name: Aidi
favorite_lanaguage:
C
C++
(三)、在字典中儲存字典
在 Python 中,字典裡也可以儲存字典
# 建立一個字典,裡面包含字典 students = { 'student_0' : { 'name':'lisi', 'age':'20', }, 'student_1' : { 'name':'zhangsan', 'age':'21', } } # 列印輸出字典檢視結果 print(students)
執行結果如下:
{'student_0': {'name': 'lisi', 'age': '20'}, 'student_1': {'name': 'zhangsan', 'age': '21'}}
雖然這樣使用在某些情況下很方便,但是如果巢狀過多,程式不容易讓人看懂
儘量避免巢狀過多
(四)、set
- set 的特點 :無序,無重複元素
- 如何要建立一個 set :以一個list(列表)作為輸入集合
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
- 可以使用 set 過濾列表中的重複元素:
>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}
- 如何新增元素:add(key)
重複新增一個已經有的元素不會顯示
-
如何刪除元素:remove(key)
-
set 還可以做交集:取出兩個列表相同的元素
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
- set 還可以做並集:將兩個列表合併成一個列表並且去掉重複元素
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 | s2
{1, 2, 3, 4}