Từ điển là cấu trúc dữ liệu được sử dụng rộng rãi nhất trong python. Chúng chứa dữ liệu ở dạng khóa và giá trị. Trong ví dụ này, chúng ta sẽ xem cách lấy các mục từ một từ điển cụ thể cho một bộ khóa nhất định
Với khả năng hiểu từ điển
Theo cách tiếp cận này, chúng ta chỉ cần lặp qua từ điển bằng cách sử dụng vòng lặp for với toán tử in. Nhưng cùng với toán tử in, chúng tôi cũng đề cập đến các giá trị của các khóa khi đề cập đến các khóa từ điển
Thí dụ
dictA = {'Sun': '2 PM', "Tue": '5 PM', 'Wed': '3 PM', 'Fri': '9 PM'} # Given dictionary print["Given dictionary : ",dictA] res = {key: dictA[key] for key in dictA.keys[] & {'Fri', 'Sun'}} # Result print["Dictionary with given keys is : ",res]
đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given dictionary : {'Sun': '2 PM', 'Tue': '5 PM', 'Wed': '3 PM', 'Fri': '9 PM'} Dictionary with given keys is : {'Fri': '9 PM', 'Sun': '2 PM'}
Với dict[]
Theo cách tiếp cận này, chúng tôi chọn các khóa cần thiết của từ điển trong khi chuyển các khóa cho hàm dict[]. Cùng với việc sử dụng vòng lặp for
Trong bài viết này, chúng ta sẽ thảo luận về các cách khác nhau để in các cặp khóa-giá trị cụ thể của từ điển. Chúng tôi có thể sử dụng chỉ mục hoặc điều kiện để chọn một vài cặp từ từ điển và in chúng
Mục lục
In các cặp khóa-giá trị cụ thể từ từ điển bằng cách lập chỉ mục
Hàm items[] của từ điển trả về một chuỗi có thể lặp lại các cặp khóa-giá trị của từ điển i. e. dict_items. Nhưng đây chỉ là chế độ xem và chúng tôi không thể sử dụng chỉ mục trên trình tự này. Vì vậy, nếu chúng ta cần chọn các mục từ từ điển bằng cách lập chỉ mục, thì chúng ta cần tạo danh sách các cặp từ chuỗi này. Ví dụ,
In cặp từ điển khóa-giá trị đầu tiên
# Dictionary of string and int word_freq = { 'Hello' : 56, 'at' : 23, 'test' : 43, 'This' : 78, 'Why' : 11 } # Create a list of all key-value pairs of dictionary all_pairs = list[word_freq.items[]] print['First Key value pair: ', all_pairs[0]]
đầu ra
First Key value pair: ['Hello', 56]
In cặp khóa-giá trị cuối cùng của từ điển
# Dictionary of string and int word_freq = { 'Hello' : 56, 'at' : 23, 'test' : 43, 'This' : 78, 'Why' : 11 } # Create a list of all key-value pairs of dictionary all_pairs = list[word_freq.items[]] print['Last Key value pair: ', all_pairs[-1]]
đầu ra
quảng cáo
Last Key value pair: ['Why', 11]
In cặp khóa-giá trị thứ N của từ điển
# Dictionary of string and int word_freq = { 'Hello' : 56, 'at' : 23, 'test' : 43, 'This' : 78, 'Why' : 11 } # Create a list of all key-value pairs of dictionary all_pairs = list[word_freq.items[]] n = 3 print['3rd value pair: ', all_pairs[n-1]]
đầu ra
3rd value pair: ['test', 43]
Nếu bạn có một từ điển lớn và việc tạo danh sách tất cả các cặp khóa-giá trị của từ điển có vẻ quá tệ từ quan điểm hiệu suất. Sau đó, bạn cũng có thể lặp lại tất cả các cặp từ điển theo chỉ mục bằng cách sử dụng hàm liệt kê [] và in phần tử tại chỉ mục đã cho. Ví dụ,
________số 8_______đầu ra
test :: 43
Nó đã in cặp khóa-giá trị ở vị trí chỉ mục N
In các cặp từ điển khóa-giá trị cụ thể dựa trên các điều kiện
Để in các mục cụ thể của từ điển thỏa mãn một điều kiện, chúng ta có thể lặp lại tất cả các cặp từ điển và kiểm tra điều kiện đối với từng cặp. Nếu điều kiện trả về True thì in cặp còn lại thì bỏ qua. Ví dụ: hãy in tất cả các cặp khóa-giá trị của từ điển có giá trị là số chẵn,
Nếu bạn chỉ cần in các cặp khóa-giá trị của từ điển đáp ứng một điều kiện, hãy sử dụng vòng lặp for
để lặp lại các mục của từ điển
Trên mỗi lần lặp, chúng tôi kiểm tra xem giá trị hiện tại có bắt đầu bằng chuỗi bo
hay không và nếu điều kiện được đáp ứng, chúng tôi sẽ in cặp khóa-giá trị
Bạn có thể sử dụng một chuỗi ký tự được định dạng nếu bạn cần định dạng các cặp khóa-giá trị theo bất kỳ cách nào
Các chuỗi ký tự được định dạng [chuỗi f] cho phép chúng tôi bao gồm các biểu thức bên trong chuỗi bằng cách thêm tiền tố vào chuỗi bằng f
Đảm bảo ngắt các biểu thức trong dấu ngoặc nhọn - {expression}
Nếu bạn cần in một cặp khóa-giá trị, hãy sử dụng ký hiệu ngoặc đơn hoặc phương thức dict.get[]
Khi sử dụng ký hiệu dấu ngoặc để truy cập khóa từ điển không tồn tại, một số KeyError
sẽ xuất hiện
Mặt khác, phương thức dict.get[]
trả về dict.items[]
1 cho các khóa không tồn tại theo mặc định
Phương thức trả về giá trị cho khóa đã cho nếu khóa có trong từ điển, nếu không thì trả về giá trị mặc định
Phương thức nhận 2 tham số sau
NameDescriptionkeyKhóa để trả về giá trịdefaultGiá trị mặc định được trả về nếu khóa được cung cấp không có trong từ điển [tùy chọn]Nếu giá trị cho tham số dict.items[]
2 không được cung cấp, thì giá trị này sẽ mặc định là dict.items[]
1, vì vậy phương thức dict.items[]
4 không bao giờ tăng giá trị KeyError
In N cặp khóa-giá trị đầu tiên của từ điển
Để in N cặp khóa-giá trị đầu tiên của từ điển
- Sử dụng phương pháp
dict.items[]
để xem các mục của từ điển - Sử dụng lớp
dict.items[]
7 để chuyển dạng xem thành danh sách - Sử dụng cắt danh sách để nhận N cặp khóa-giá trị đầu tiên
- Sử dụng hàm
print[]
để in kết quả
Chúng tôi đã sử dụng lớp dict.items[]
7 để chuyển đổi các mục của từ điển thành danh sách và sử dụng tính năng cắt danh sách để chọn N cặp khóa-giá trị đầu tiên
Cú pháp để cắt danh sách là for
0
Chỉ số for
1 là bao gồm và chỉ số for
2 là loại trừ [tối đa, nhưng không bao gồm]
Các chỉ mục Python dựa trên số không, vì vậy mục đầu tiên trong danh sách có chỉ mục là for
3 và mục cuối cùng có chỉ mục là for
4 hoặc for
5
Bạn có thể sử dụng phương pháp tương tự để in N cặp khóa-giá trị cuối cùng của từ điển
Chỉ số âm có thể được sử dụng để đếm ngược, e. g. for
6 trả về mục cuối cùng trong danh sách và for
7 trả về mục thứ hai đến cuối cùng
Chỉ in một phần của từ điển bằng Python
Để chỉ in một phần của từ điển
- Sử dụng phương pháp
dict.items[]
để xem các mục của từ điển - Chuyển đổi chế độ xem thành danh sách và sử dụng cắt danh sách để lấy một phần của từ điển
- Sử dụng hàm
print[]
để in kết quả
Phương thức trả về một dạng xem mới của các cặp mục [[key, value] của từ điển]
Chúng tôi đã sử dụng lớp dict.items[]
7 để chuyển đổi đối tượng dạng xem thành danh sách và sử dụng cắt danh sách để chọn 3 mục đầu tiên trong từ điển
Cú pháp để cắt danh sách là for
0
Chỉ số for
1 là bao gồm và chỉ số for
2 là loại trừ [tối đa, nhưng không bao gồm]
Các chỉ mục Python dựa trên số không, vì vậy mục đầu tiên trong danh sách có chỉ mục là for
3 và mục cuối cùng có chỉ mục là for
4 hoặc for
5
Nếu bạn cần loại trừ một số khóa nhất định khỏi từ điển và in kết quả, hãy sử dụng tính năng đọc chính tả
Chúng tôi đã sử dụng khả năng hiểu chính tả để lặp lại các mục của từ điển và loại trừ các khóa đã chỉ định
Đọc chính tả rất giống với đọc danh sách
Họ thực hiện một số thao tác cho mọi cặp khóa-giá trị trong từ điển hoặc chọn một tập hợp con các cặp khóa-giá trị đáp ứng một điều kiện
Bạn có thể điều chỉnh khả năng hiểu chính tả nếu bạn chỉ cần chọn các cặp khóa-giá trị cụ thể
Hàm print[]
7 lấy một từ điển và một danh sách các khóa rồi trả về một từ điển mới chỉ chứa các cặp khóa-giá trị đã chỉ định
Cách cắt từ điển trong Python
Để cắt một từ điển
- Sử dụng phương pháp
dict.items[]
để xem các mục của từ điển - Sử dụng phương thức
print[]
9 để lấy một lát của đối tượng xem - Sử dụng lớp
for
0 để chuyển đổi lát cắt thành từ điển
Ví dụ đầu tiên sử dụng phương pháp print[]
9 để cắt một từ điển
Phương thức trả về một dạng xem mới của các cặp mục [[key, value] của từ điển]
Phương thức này sử dụng một iterator và các chỉ số tùy chọn for
1 và for
2
Phương thức tạo một trình lặp trả về các phần tử đã chọn từ trình lặp
Từ điển giữ nguyên thứ tự chèn của các khóa bắt đầu bằng Python v3. 7
Chúng tôi đã sử dụng chỉ số bắt đầu là for
4 và chỉ số dừng là for
5
Chỉ số bắt đầu là bao gồm và chỉ số dừng là loại trừ [tối đa, nhưng không bao gồm]
Bước cuối cùng là chuyển lát cắt cho lớp for
0
Lớp có thể được chuyển qua một cặp khóa-giá trị có thể lặp lại và trả về một từ điển mới
Sao chép một phần của từ điển trong Python
Để sao chép một phần của từ điển
- Sử dụng khả năng hiểu chính tả để lặp lại các phím sẽ được sao chép
- Trên mỗi lần lặp, trả về khóa và giá trị của nó
- Từ điển mới sẽ chỉ chứa các khóa và giá trị được chỉ định
Chúng tôi đã sử dụng khả năng hiểu chính tả để lặp lại các khóa sẽ được sao chép
Đọc chính tả rất giống với đọc danh sách
Họ thực hiện một số thao tác cho mọi cặp khóa-giá trị trong từ điển hoặc chọn một tập hợp con các cặp khóa-giá trị đáp ứng một điều kiện
Một cách tiếp cận khác là sử dụng lớp for
0 với bộ các cặp khóa-giá trị
Chúng tôi đã sử dụng biểu thức trình tạo để lặp qua các khóa và trả về một bộ chứa 2 phần tử - khóa và giá trị
Biểu thức trình tạo được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện
Lớp for
8 có thể được chuyển qua một danh sách các bộ dữ liệu và trả về một từ điển mới
Bạn có thể sử dụng tính năng đọc chính tả nếu bạn cần loại trừ một số khóa nhất định khỏi từ điển
Phương thức trả về một dạng xem mới của các cặp mục [[key, value] của từ điển]
Trên mỗi lần lặp, chúng ta sử dụng toán tử for
9 để kiểm tra xem khóa hiện tại có nằm trong danh sách các khóa cần loại trừ hay không
def exclude_keys[dictionary, keys]:
return {
key: value for key, value in dictionary.items[]
if key not in keys
}
Các bài kiểm tra tư cách thành viên. Ví dụ: bo
0 ước tính thành bo
1 nếu bo
2 là thành viên của bo
3, nếu không, nó ước tính thành bo
4