Danh sách đa chiều trong Python
Các phần tử của danh sách không chỉ có thể là
chuỗi và số, mà còn có thể là các danh sách khác. Trong trường hợp này,
danh sách các danh sách như vậy được gọi là
đa chiều. Trong ví dụ tiếp theo,
danh sách lst bao gồm ba phần tử,
mà bản thân chúng cũng là các danh sách:
lst = [
['a', 'b', 'c'],
['d', 'e', 'f'],
['g', 'h', 'i'],
]
Tùy thuộc vào mức độ lồng nhau, danh sách có thể là hai chiều - danh sách các danh sách, ba chiều - danh sách các danh sách của danh sách (và cứ tiếp tục như vậy - bốn chiều, năm chiều, v.v.).
Danh sách được đưa ra ở trên là hai chiều, vì bên trong một danh sách có chứa các danh sách con khác, và trong chúng không có danh sách nào khác. Để in ra bất kỳ phần tử nào từ danh sách hai chiều, cần viết không phải một cặp dấu ngoặc vuông, mà là hai:
print(lst[0][1]) # sẽ in ra 'b'
print(lst[1][2]) # sẽ in ra 'f'
Ngoài ra, trong các danh sách đa chiều có thể chứa các đối tượng có thể lặp khác, ví dụ, từ điển, tập hợp và tuple. Hãy thay đổi phần tử thứ hai của danh sách thành từ điển:
lst = [
['a', 'b', 'c'],
{'d': 1, 'e': 2, 'f': 3},
['g', 'h', 'i'],
]
Để lấy một phần tử từ từ điển, cần đầu tiên truy cập đến chính từ điển đó bằng cặp dấu ngoặc vuông đầu tiên. Sau đó trong cặp dấu ngoặc vuông thứ hai, chúng ta viết khóa của từ điển:
print(lst[1]['d']) # sẽ in ra 1
Cho danh sách:
lst = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]
Hãy in ra từ nó các số 2, 4
và 8.
Cho danh sách:
lst = [
['a', 'b'],
{'c': 1, 'd': 2},
{'e': 3, 'f': 4}
]
Hãy in ra từ nó các số 1, 3.