Từ điển là các cấu trúc dữ liệu rất hữu ích trong Python có thể chứa một tập hợp các mục dưới dạng một cặp giá trị khóa. Hướng dẫn này bao gồm các phương pháp khác nhau mà theo đó chúng ta có thể đếm số lượng khóa trong một từ điển trong Python.
Trước khi chuyển sang bài viết này, bạn nên có một sự hiểu biết cơ bản về từ điển, cách chúng được tạo, cú pháp và sử dụng của chúng, v.v. Nếu bạn muốn tìm hiểu thêm về các hướng dẫn của Python, hãy xem điều này.
Để đếm số lượng khóa trong từ điển trong Python, chúng ta cần phải đi qua từ điển bằng cách sử dụng cho vòng lặp. Khởi tạo một biến đếm đến 0 tăng lên trên mỗi lần lặp. Sau đây là các phương pháp được sử dụng để đếm các khóa trong từ điển.
- Phương pháp 1: Nhận số lượng khóa trong từ điển sử dụng cho vòng lặp.
- Phương pháp 2: Đếm và in số khóa trong Từ điển trong Python
- Phương pháp 3: Sử dụng hàm Len [] để đếm và in các khóa.
Phương pháp 1: Sử dụng cho vòng lặp để không nhận được các phím trong từ điển
#Program to find the total number of keys in a dictionary def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Mango": 196, "Gauva": 128 } print[count_keys[No_of_fruits]]
Trong ví dụ trên, hàm dict.items [] trả về các mục đối tượng dưới dạng một tuple [khóa, giá trị]. Ở đây, các biến số ‘khóa và‘ giá trị lặp lại trên từ điển. Bạn cũng có thể in chúng bằng lệnh in [khóa] hoặc in [giá trị]. Nếu hai khóa là giống nhau, chương trình sẽ tính chúng là một.
Phương pháp 2: Đếm và in số phím trong từ điển trong Python
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]
Output:
dict_items[[['Apple', 200], ['Orange', 196], ['Gauva', 128]]]
3
Các khóa phải khác nhau nếu không chương trình sẽ ghi đè lên giá trị trước đó như trong cửa sổ đầu ra ở trên. Ở đây, Key ‘Orange, được lặp đi lặp lại do đó Dict.Items [] sẽ ghi đè lên 15 giá trị vào năm 196. Đó là lý do tại sao khi bạn in lệnh của No_of_fruits.items [], nó in [cặp màu cam: 196]. Nếu bạn muốn lưu trữ nhiều giá trị trong cùng một khóa, thì bạn có thể thực hiện điều này bằng cách liên kết giá trị của khóa với danh sách hoặc từ điển bao gồm nhiều giá trị.
Phương pháp 3: Sử dụng hàm Len [] để đếm số lượng khóa trong từ điển
Hàm Len [] được sử dụng để tìm độ dài của các đối tượng. Nó trả lại tổng số mặt hàng. Trong từ điển, các mục được lưu trữ dưới dạng các cặp giá trị khóa, điều đó có nghĩa là tổng số vật phẩm và khóa bằng nhau. Do đó, khi hàm len [] được áp dụng cho từ điển, nó sẽ trả về tổng số khóa.
Ví dụ 3:
Giả sử bạn có một từ điển, No_of_fruits, nơi lưu trữ tên và số lượng trái cây trong một thị trường và bạn muốn đếm các chìa khóa hoặc các loại trái cây khác nhau mà bạn có trong một thị trường.
No_of_fruits = {"Apple": 200, "Orange": 150, "Mango": 196, "Gauva": 128 } print[len[No_of_fruits]]
Output:
4
Bạn cũng có thể áp dụng chức năng này trực tiếp trên các khóa. Đối với điều này, trích xuất tất cả các khóa của từ điển bằng phương pháp .KEY []. Sau đó, áp dụng hàm Len [] sẽ trả về tổng số khóa trong từ điển.
Ví dụ 4:
No_of_fruits = {"Apple": 200, "Orange": 150, "Mango": 196, "Gauva": 128 } x=No_of_fruits.keys[] print[x] print["Total number of keys: ", len[x]]
Output:
dict_keys[['Apple', 'Orange', 'Mango', 'Gauva']]
Total number of keys: 4
Trong trường hợp này, các phím là khác biệt. Ví dụ 1, nếu hai khóa giống hệt nhau thì mã trên sẽ trả về 3 dưới dạng tổng số khóa.
Trong hướng dẫn này, bạn đã học được cách đếm tổng số khóa trong từ điển và điều gì xảy ra nếu hai phím giống nhau. Nếu bạn có bất kỳ truy vấn nào, hãy liên hệ với chúng tôi. Hãy cho chúng tôi biết phản hồi của bạn trong các ý kiến. Nó sẽ được đánh giá cao.
Tôi có một từ khóa ánh xạ từ điển để lặp lại từ khóa, nhưng tôi chỉ muốn một danh sách các từ riêng biệt nên tôi muốn đếm số từ khóa. Có cách nào để đếm số lượng từ khóa hay có cách khác tôi nên tìm kiếm các từ riêng biệt?
Flim
Huy hiệu vàng 124K4040 gold badges237 silver badges252 bronze badges
hỏi ngày 6 tháng 2 năm 2010 lúc 7:37Feb 6, 2010 at 7:37
1
len[yourdict.keys[]]
hoặc công bằng
len[yourdict]
Nếu bạn thích đếm các từ duy nhất trong tệp, bạn chỉ có thể sử dụng
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]8 và thích
len[set[open[yourdictfile].read[].split[]]]
Đã trả lời ngày 6 tháng 2 năm 2010 lúc 7:41Feb 6, 2010 at 7:41
BạnYOU
Huy hiệu vàng 117K3232 gold badges184 silver badges216 bronze badges
3
Số lượng các từ riêng biệt [nghĩa là số lượng các mục trong từ điển] có thể được tìm thấy bằng cách sử dụng hàm
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]9.
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]0
Để có được tất cả các từ riêng biệt [nghĩa là các khóa], hãy sử dụng phương thức
dict_items[[['Apple', 200], ['Orange', 196], ['Gauva', 128]]]
3
0.def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]1
Đã trả lời ngày 6 tháng 2 năm 2010 lúc 7:40Feb 6, 2010 at 7:40
Kennytmkennytmkennytm
500K101 Huy hiệu vàng1064 Huy hiệu bạc995 Huy hiệu Đồng101 gold badges1064 silver badges995 bronze badges
0
Gọi
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]9 trực tiếp trên từ điển của bạn hoạt động và nhanh hơn so với việc xây dựng một trình lặp,
dict_items[[['Apple', 200], ['Orange', 196], ['Gauva', 128]]]
3
2 và gọi def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]9 trên đó, nhưng tốc độ của một trong hai sẽ không đáng kể so với bất cứ điều gì khác mà chương trình của bạn đang làm.
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]2
Đã trả lời ngày 7 tháng 3 năm 2019 lúc 14:25Mar 7, 2019 at 14:25
Nếu câu hỏi là về việc đếm số lượng từ khóa thì sẽ đề xuất một cái gì đó như
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]3
Trong chức năng chính có một cái gì đó lặp qua dữ liệu và chuyển các giá trị cho chức năng Countoccurences
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]4
Mã đầu ra
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]5
Đã trả lời ngày 25 tháng 1 năm 2018 lúc 22:00Jan 25, 2018 at 22:00
DaviddavidDavid
8078 Huy hiệu bạc7 Huy hiệu Đồng8 silver badges7 bronze badges
1
Một số sửa đổi đã được thực hiện trên câu trả lời được đăng dưới Waterwaterkremlin để làm cho nó bằng chứng Python3. Một kết quả đáng ngạc nhiên dưới đây là câu trả lời.
Thông số kỹ thuật hệ thống:
- Python = 3.7.4,
- Conda = 4.8.0
- 3,6GHz, 8 lõi, 16GB.
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]6
Result:
1] = 37.0100378
2] = 37.002148899999995
Vì vậy, có vẻ như
dict_items[[['Apple', 200], ['Orange', 196], ['Gauva', 128]]]
3
4 hiện đang nhanh hơn chỉ sử dụng def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]9.
Đã trả lời ngày 30 tháng 12 năm 2019 lúc 21:49Dec 30, 2019 at 21:49
ZF007ZF007ZF007
3.6468 Huy hiệu vàng32 Huy hiệu bạc48 Huy hiệu đồng8 gold badges32 silver badges48 bronze badges
Để đếm số lượng từ khóa trong từ điển:
def number_of_keys[dict]: count = 0 for key,value in dict.items[]: count += 1 return count No_of_fruits = {"Apple": 200, "Orange": 150, "Orange": 196, "Gauva": 128 } print[No_of_fruits.items[]] print[count_keys[No_of_fruits]]7
MSOLER
2.9102 Huy hiệu vàng17 Huy hiệu bạc 30 Huy hiệu Đồng2 gold badges17 silver badges30 bronze badges
Đã trả lời ngày 26 tháng 2 năm 2021 lúc 5:50Feb 26, 2021 at 5:50