Cách nhập nhiều giá trị trong từ điển trong python

Khi cần tạo một từ điển trong đó các khóa có nhiều đầu vào, một từ điển trống có thể được tạo và giá trị cho một khóa cụ thể có thể được chỉ định

Dưới đây là minh họa tương tự -

Ví dụ

Bản thử trực tiếp

my_dict = {}

a, b, c = 15, 26, 38
my_dict[a, b, c] = a + b - c

a, b, c = 5, 4, 11
my_dict[a, b, c] = a + b - c

print["The dictionary is :"]
print[my_dict]

đầu ra

The dictionary is :
{[15, 26, 38]: 3, [5, 4, 11]: -2}

Giải trình

  • Các gói cần thiết được nhập khẩu

  • Một từ điển rỗng được định nghĩa

  • Các giá trị cho một khóa cụ thể được chỉ định

  • Đầu ra được hiển thị trên bàn điều khiển

Về bản chất, từ điển là ánh xạ một-một, nhưng không khó để biến nó thành một-nhiều—nói cách khác, để tạo một ánh xạ khóa thành nhiều giá trị. Có hai cách tiếp cận khả thi, tùy thuộc vào cách bạn muốn xử lý các bản sao trong tập giá trị cho khóa. Cách tiếp cận sau đây cho phép sao chép như vậy

d1 = {}
d1.setdefault[key, []].append[value]

trong khi phương pháp này tự động loại bỏ trùng lặp

d2 = {}
d2.setdefault[key, {}][value] = 1

Một từ điển bình thường thực hiện ánh xạ đơn giản của một khóa tới một giá trị. Công thức này cho thấy hai cách dễ dàng, hiệu quả để đạt được ánh xạ của từng khóa tới nhiều giá trị. Ngữ nghĩa của hai cách tiếp cận hơi khác nhau nhưng quan trọng là cách chúng xử lý sự trùng lặp. Mỗi cách tiếp cận đều dựa vào phương thức

d2 = {}
d2.setdefault[key, {}][value] = 1
7 của từ điển để khởi tạo mục nhập cho một khóa trong từ điển, nếu cần và trong mọi trường hợp để trả lại mục nhập đã nói

Tất nhiên, bạn cần có khả năng làm nhiều việc hơn là chỉ thêm giá trị cho một khóa. Với cách tiếp cận đầu tiên, cho phép sao chép, đây là cách truy xuất danh sách các giá trị cho một khóa

list_of_values = d1[key]

Đây là cách xóa một giá trị cho một khóa, nếu bạn không phiền để lại danh sách trống dưới dạng các mục của

d2 = {}
d2.setdefault[key, {}][value] = 1
8 khi giá trị cuối cùng của khóa bị xóa

d1[key].remove[value]

Mặc dù danh sách trống nhưng vẫn dễ dàng kiểm tra sự tồn tại của khóa có ít nhất một giá trị

________số 8

Điều này trả về

d2 = {}
d2.setdefault[key, {}][value] = 1
9 hoặc một danh sách, có thể trống. Trong hầu hết các trường hợp, việc sử dụng một hàm luôn trả về một danh sách [có thể là một danh sách trống] sẽ dễ dàng hơn, chẳng hạn như

The dictionary is :
{[15, 26, 38]: 3, [5, 4, 11]: -2}
0

Bạn có thể sử dụng một trong hai chức năng này trong một câu lệnh. Ví dụ

The dictionary is :
{[15, 26, 38]: 3, [5, 4, 11]: -2}
1

Tuy nhiên,

list_of_values = d1[key]
0 thường tiện dụng hơn. Ví dụ: bạn có thể sử dụng nó để kiểm tra xem
list_of_values = d1[key]
1 có nằm trong số các giá trị của
list_of_values = d1[key]
2 không

The dictionary is :
{[15, 26, 38]: 3, [5, 4, 11]: -2}
5

Tiện ích bổ sung này xuất phát từ việc

list_of_values = d1[key]
0 luôn trả về một danh sách, thay vì đôi khi là một danh sách và đôi khi là
d2 = {}
d2.setdefault[key, {}][value] = 1
9

Cách tiếp cận đầu tiên cho phép mỗi giá trị xuất hiện nhiều lần cho mỗi khóa đã cho. Ví dụ

The dictionary is :
{[15, 26, 38]: 3, [5, 4, 11]: -2}
8

Bây giờ

list_of_values = d1[key]
5 là
list_of_values = d1[key]
6. Nếu bây giờ chúng ta thực hiện

d1 = {}
d1.setdefault[key, []].append[value]
1

kiểm tra sau vẫn hài lòng

d2 = {}
d2.setdefault[key, {}][value] = 1
0

list_of_values = d1[key]
7 đã có mặt hai lần và chúng tôi chỉ xóa nó một lần. [Thử nghiệm cho
list_of_values = d1[key]
7 với
list_of_values = d1[key]
9 sẽ tổng quát hơn, mặc dù tương đương trong trường hợp này. ]

Cách tiếp cận thứ hai, loại bỏ trùng lặp, yêu cầu các thành ngữ khá giống nhau. Đây là cách truy xuất danh sách các giá trị cho một khóa

d2 = {}
d2.setdefault[key, {}][value] = 1
1

Dưới đây là cách xóa cặp khóa/giá trị, để lại các từ điển trống dưới dạng các mục của

d1[key].remove[value]
0 khi giá trị cuối cùng của khóa bị xóa

d2 = {}
d2.setdefault[key, {}][value] = 1
2

Hàm

d1[key].remove[value]
1 được hiển thị trước đó cũng hoạt động cho cách tiếp cận thứ hai và bạn cũng có các lựa chọn thay thế tương tự, chẳng hạn như

d2 = {}
d2.setdefault[key, {}][value] = 1
3

Cách tiếp cận thứ hai không cho phép trùng lặp. Ví dụ

d2 = {}
d2.setdefault[key, {}][value] = 1
4

Bây giờ

list_of_values = d1[key]
5 là
d1[key].remove[value]
3. Bây giờ, nếu chúng ta thực hiện

d2 = {}
d2.setdefault[key, {}][value] = 1
5

bài kiểm tra sau đây không thỏa mãn

d2 = {}
d2.setdefault[key, {}][value] = 1
0

list_of_values = d1[key]
7 đã có mặt, nhưng chúng tôi vừa xóa nó

Công thức này tập trung vào cách viết mã chức năng thô, nhưng nếu bạn muốn sử dụng chức năng này một cách có hệ thống, bạn sẽ muốn gói gọn nó trong một lớp. Vì mục đích đó, bạn cần đưa ra một số quyết định thiết kế mà công thức nêu bật. Bạn có muốn một giá trị nằm trong mục nhập cho một khóa nhiều lần không?

Bạn có thể có 3 mục trong từ điển python không?

Bạn có thể thêm bao nhiêu mục tùy thích .

Làm cách nào để lấy nhiều giá trị từ từ điển Python?

Để lấy nhiều giá trị từ một từ điển. .
Sử dụng vòng lặp for để lặp qua bộ sưu tập khóa
sử dụng danh sách. append[] để thêm giá trị của mỗi khóa vào danh sách
Danh sách mới sẽ chỉ chứa các giá trị của các khóa được chỉ định

Làm cách nào để thêm tất cả các giá trị trong từ điển Python?

Việc lấy tổng các giá trị của một từ điển python khá dễ dàng. Trước tiên, bạn có thể lấy các giá trị trong danh sách bằng lệnh. giá trị[]. Sau đó, bạn có thể gọi phương thức tổng để lấy tổng của các giá trị này .

Chủ Đề