Cách cộng các giá trị từ điển với nhau trong python

Sử dụng chức năng bộ đếm mô-đun Bộ sưu tập để tính tổng các giá trị từ điển theo khóa trong Python. Bộ đếm là một lớp con được sử dụng để đếm các đối tượng có thể băm và đếm từng phần tử có trong vùng chứa

Ví dụ tổng các giá trị từ điển theo khóa trong Python

Mã ví dụ đơn giản có hai từ điển có cùng khóa và các giá trị số khác nhau. Chúng tôi đang hợp nhất các từ điển này thành một và tính tổng các giá trị từ điển theo khóa

from collections import Counter

x = {"a": 200, "b": 560, "y": 2005, "z": 2555}
y = {"a": 255, "b": 266, "y": 3050, "z": 3033}

z = Counter[x] + Counter[y]

print[z]

đầu ra

Ví dụ: nếu bạn muốn cộng tất cả các giá trị của một từ điển lại với nhau để tìm tổng. Gọi chính tả. values[] để trả về các giá trị của một từ điển chính tả, sau đó sử dụng sum[values] để trả về tổng của các giá trị

a_dict = {"a": 1, "b": 2, "c": 3}

values = a_dict.values[]

total = sum[values]
print[total]

đầu ra. 6

Hãy bình luận nếu bạn có bất kỳ nghi ngờ hoặc đề xuất nào về chủ đề tổng Python này

Ghi chú. IDE. PyCharm 2021. 3. 3 [Phiên bản cộng đồng]

cửa sổ 10

Trăn 3. 10. 1

Tất cả các Ví dụ về Python đều nằm trong Python 3, vì vậy có thể nó khác với python 2 hoặc các phiên bản nâng cấp

Rohit

Bằng cấp về Khoa học Máy tính và Kỹ sư. Nhà phát triển ứng dụng và có kinh nghiệm về nhiều ngôn ngữ lập trình. Đam mê công nghệ & thích học hỏi kỹ thuật

Từ điển là một trong những cấu trúc dữ liệu cơ bản và được sử dụng nhiều nhất trong lập trình python. Trường hợp bạn muốn kết hợp hai hoặc nhiều từ điển trong khi lập trình với python không phải là hiếm gặp. Trong bài viết này, chúng ta sẽ nghiên cứu nhiều cách khác nhau để hợp nhất hai từ điển trong các tình huống khác nhau cùng với ví dụ và đầu ra. Nhưng trước đó, chúng ta hãy xem sơ qua về từ điển trong python bên dưới

Từ điển trong Python là gì?

Từ điển là một tập hợp các thành phần dữ liệu không theo thứ tự được lưu trữ trong các cặp khóa-giá trị, không giống như bất kỳ cấu trúc dữ liệu nào khác chứa dữ liệu dưới dạng một thành phần giá trị. Bạn có thể tạo từ điển bằng cách đặt cặp khóa-giá trị bên trong dấu ngoặc nhọn [{}] được phân tách bằng dấu phẩy [,]. Ngoài ra, các phần tử khóa và giá trị được phân tách bằng cách đặt dấu chấm phẩy [. ] giữa họ. Từ điển trong python được sắp xếp theo thứ tự, có thể thay đổi và không cho phép trùng lặp. Điều đó có nghĩa là từ điển không thể có hai mục có cùng khóa; . Ngoài ra, các khóa trong từ điển phân biệt chữ hoa chữ thường;

Để tìm hiểu thêm về từ điển trong python, hãy truy cập bài viết của chúng tôi “Danh sách so với Từ điển. ”

Ví dụ

sample_dict = {
  "Language_1": "Python",
  "Langauge_2": "C++",
  "Language_3": "Java"
}
print[sample_dict]

 

đầu ra

{'Language_1': 'Python', 'Langauge_2': 'C++', 'Language_3': 'Java'}

 

Làm cách nào để hợp nhất từ ​​điển trong Python?

Dưới đây là tám phương pháp tiêu chuẩn mà bạn có thể hợp nhất hai từ điển trong python

1] Sử dụng phương thức update[]

Bạn có thể hợp nhất hai từ điển trong python bằng phương thức update[]. Sử dụng phương pháp này, từ điển đầu tiên được hợp nhất với từ điển khác bằng cách ghi đè lên nó. Do đó, không có từ điển mới nào được tạo và nó trả về Không có. Nếu cả hai từ điển chứa cùng một khóa và giá trị khác nhau, thì đầu ra cuối cùng sẽ ghi đè lên giá trị của từ điển sau. Hãy xem ví dụ dưới đây để hiểu rõ hơn về phương thức update[]

Ví dụ

dict_1 = {'John': 15, 'Rick': 10, 'Misa' : 12 }
dict_2 = {'Bonnie': 18,'Rick': 20,'Matt' : 16 }
dict_1.update[dict_2]
print['Updated dictionary:']
print[dict_1]

 

đầu ra

{'John': 15, 'Rick': 20, 'Misa': 12, 'Bonnie': 18, 'Matt': 16}

 

2] Sử dụng hợp nhất [. ] nhà điều hành

Bạn có thể hợp nhất hai từ điển bằng cách sử dụng. nhà điều hành. Đây là một phương pháp rất thuận tiện để hợp nhất các từ điển; . 9 phiên bản trở lên

Ví dụ

def Merge[dict_1, dict_2]:
	result = dict_1 | dict_2
	return result
	
# Driver code
dict_1 = {'John': 15, 'Rick': 10, 'Misa' : 12 }
dict_2 = {'Bonnie': 18,'Rick': 20,'Matt' : 16 }
dict_3 = Merge[dict_1, dict_2]
print[dict_3]

đầu ra

{'John': 15, 'Rick': 20, 'Misa': 12, 'Bonnie': 18, 'Matt': 16}

 

3] Sử dụng toán tử **

Cách đơn giản nhất để hợp nhất hai từ điển trong python là sử dụng toán tử giải nén[**]. Bằng cách áp dụng toán tử "**" cho từ điển, nó mở rộng nội dung của nó là tập hợp các cặp khóa-giá trị

Ví dụ: nếu bạn áp dụng "**" cho dict_1 như hình bên dưới, đầu ra sẽ thu thập các cặp khóa-giá trị được lưu trữ bên trong dict_1

Ví dụ

________số 8

 

đầu ra

{'John': 15, 'Rick': 10, 'Misa': 12}

 

Bây giờ, để kết hợp hai từ điển bằng cách sử dụng "**", chúng tôi sẽ sử dụng một từ điển bổ sung để lưu trữ đầu ra cuối cùng. Nội dung của dict_1 và dict_2 sẽ mở rộng bằng cách sử dụng toán tử "**" và kết hợp để tạo thành dict_3. Tương tự như phương pháp cập nhật, nếu cả hai từ điển có cùng một khóa với các giá trị khác nhau, thì đầu ra cuối cùng sẽ chứa giá trị của từ điển thứ hai. Hãy xem ví dụ dưới đây để hiểu hoạt động của toán tử "**"

Ví dụ

a_dict = {"a": 1, "b": 2, "c": 3}

values = a_dict.values[]

total = sum[values]
print[total]
0

 

đầu ra

{'John': 15, 'Rick': 20, 'Misa': 12, 'Bonnie': 18, 'Matt': 16}

 

Bạn cũng có thể hợp nhất ba từ điển cùng lúc bằng cách sử dụng toán tử “**”, như minh họa trong ví dụ bên dưới

Ví dụ

{'Language_1': 'Python', 'Langauge_2': 'C++', 'Language_3': 'Java'}
0

 

đầu ra

{'Language_1': 'Python', 'Langauge_2': 'C++', 'Language_3': 'Java'}
1

 

4] Giải nén từ điển thứ hai

Giải nén từ điển thứ hai bằng toán tử "**" sẽ giúp bạn hợp nhất hai từ điển và nhận kết quả cuối cùng. Tuy nhiên, phương pháp này không được sử dụng nhiều và khuyến nghị vì nó sẽ chỉ hoạt động nếu các khóa của từ điển thứ hai là các chuỗi bắt buộc. Nếu gặp phải bất kỳ giá trị int nào, thì nó sẽ đưa ra phương thức "TypeError"

Ví dụ

{'Language_1': 'Python', 'Langauge_2': 'C++', 'Language_3': 'Java'}
2

 

đầu ra

{'John': 15, 'Rick': 20, 'Misa': 12, 'Bonnie': 18, 'Matt': 16}

 

5] Sử dụng bộ sưu tập. Phương thức ChainMap[]

Đây là một trong những phương pháp ít được biết đến nhất để hợp nhất hai từ điển trong python. Trong phương pháp này, bạn phải sử dụng mô-đun bộ sưu tập từ thư viện ChainMap sẽ giúp bạn nhóm nhiều từ điển trong một chế độ xem. Nếu cả hai từ điển chứa cùng một khóa/s, thì giá trị của từ điển đầu tiên được tìm nạp trong đầu ra cuối cùng. Lưu ý rằng chúng tôi sẽ sử dụng tùy chọn “nhập. từ. ” cú pháp để nhập mô-đun bộ sưu tập như trong ví dụ bên dưới

Ví dụ

{'Language_1': 'Python', 'Langauge_2': 'C++', 'Language_3': 'Java'}
4

 

đầu ra

{'Language_1': 'Python', 'Langauge_2': 'C++', 'Language_3': 'Java'}
5

 

6] Sử dụng itertools. chuỗi[]

Trình lặp trả về phần tử từ lần lặp đầu tiên cho đến khi nó trống và sau đó chuyển sang lần lặp tiếp theo. Về cơ bản, nó sẽ xử lý chuỗi liên tiếp dưới dạng một chuỗi duy nhất

Vì từ điển cũng có thể lặp lại, chúng ta có thể sử dụng hàm chain[] từ lớp itertools và hợp nhất hai từ điển. Kiểu trả về của phương thức này sẽ là một đối tượng và do đó, chúng ta có thể chuyển đổi từ điển bằng hàm tạo dict[]

Ví dụ

{'Language_1': 'Python', 'Langauge_2': 'C++', 'Language_3': 'Java'}
6

 

đầu ra

{'Language_1': 'Python', 'Langauge_2': 'C++', 'Language_3': 'Java'}
7

 

7] Sử dụng từ điển hiểu

Chúng ta có thể kết hợp hai từ điển trong python bằng cách sử dụng khả năng hiểu từ điển. Ở đây, chúng tôi cũng sử dụng vòng lặp for để lặp qua các mục từ điển và hợp nhất chúng để có kết quả cuối cùng. Nếu cả hai từ điển đều có khóa chung, thì đầu ra cuối cùng sử dụng phương thức này sẽ chứa giá trị của từ điển thứ hai. Xem ví dụ dưới đây để hiểu rõ hơn

Ví dụ

{'Language_1': 'Python', 'Langauge_2': 'C++', 'Language_3': 'Java'}
8

 

đầu ra

{'John': 15, 'Rick': 20, 'Misa': 12, 'Bonnie': 18, 'Matt': 16}

 

8] Thêm giá trị của các khóa chung

Trong tất cả các phương pháp trên, nếu cả hai từ điển chứa giá trị dữ liệu khác nhau của cùng một khóa, thì các giá trị trong đầu ra cuối cùng sẽ bị ghi đè. Điều gì sẽ xảy ra nếu bạn muốn giữ nguyên tất cả giá trị trong đầu ra cuối cùng. Với mục đích này, bạn có thể hợp nhất các từ điển sao cho nó thêm các giá trị của các khóa chung trong danh sách và trả về kết quả cuối cùng

Trong phương pháp này, chúng ta cũng sẽ sử dụng vòng lặp for để duyệt qua các khóa và giá trị trong từ điển bên trong hàm. Sau đó, chúng ta sẽ gọi hàm để lấy đầu ra cuối cùng là các từ điển được hợp nhất như hình bên dưới

Ví dụ

dict_1 = {'John': 15, 'Rick': 10, 'Misa' : 12 }
dict_2 = {'Bonnie': 18,'Rick': 20,'Matt' : 16 }
dict_1.update[dict_2]
print['Updated dictionary:']
print[dict_1]
0

 

đầu ra

dict_1 = {'John': 15, 'Rick': 10, 'Misa' : 12 }
dict_2 = {'Bonnie': 18,'Rick': 20,'Matt' : 16 }
dict_1.update[dict_2]
print['Updated dictionary:']
print[dict_1]
1

 

Sự kết luận

Làm việc với nhiều từ điển là một trong những tình huống phổ biến khi lập trình trong python. Nhưng việc kết hợp một hoặc nhiều từ điển thường là một nhiệm vụ khó khăn nếu bạn không biết các kỹ thuật để làm điều tương tự. Do đó, chúng tôi đã trình bày các phương pháp khác nhau để bạn có thể hợp nhất từ ​​điển trong python trong các điều kiện khác nhau. Tuy nhiên, nếu bạn gặp bất kỳ khó khăn nào, hãy liên hệ với các gia sư viết mã trực tiếp để giải tỏa nghi ngờ của bạn

Bạn có thể thêm các giá trị từ điển bằng Python không?

Bạn có thể thêm dữ liệu hoặc giá trị vào từ điển trong Python bằng các bước sau. Đầu tiên, gán giá trị cho khóa mới. Sử dụng chính tả. Phương thức cập nhật[] để thêm nhiều giá trị vào khóa .

Tôi có thể thêm nhiều giá trị vào từ điển Python không?

Ý tưởng chung. Trong Python, nếu chúng ta muốn một từ điển có nhiều giá trị cho một khóa, chúng ta cần lưu trữ các giá trị này trong vùng chứa riêng của chúng trong từ điển. Để làm như vậy, chúng tôi cần phải sử dụng một vùng chứa làm giá trị và thêm nhiều giá trị của chúng tôi vào vùng chứa đó . Các thùng chứa phổ biến là danh sách, bộ dữ liệu và bộ.

Chúng ta có thể thêm giá trị vào từ điển không?

Nối các giá trị vào từ điển bằng phương thức update[] . Phương thức update[] tự động ghi đè giá trị của bất kỳ khóa hiện có nào bằng khóa mới.

Chủ Đề