Hướng dẫn python subset dictionary based on value - từ điển tập con python dựa trên giá trị

1

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi muốn sao chép các cặp từ từ điển này dựa trên các giá trị của chúng để chúng có thể được gán cho các biến mới. Từ nghiên cứu của tôi, có vẻ dễ dàng để làm điều này dựa trên các khóa, nhưng trong trường hợp của tôi, các giá trị là những gì tôi đang theo dõi.

things = ({'alpha': 1, 'beta': 2, 'cheese': 3, 'delta': 4})

Và bằng ngôn ngữ tạo nên tôi có thể gán các biến như vậy -

smaller_things =  all values =3 in things 

Hướng dẫn python subset dictionary based on value - từ điển tập con python dựa trên giá trị

Đã hỏi ngày 1 tháng 2 năm 2013 lúc 5:31Feb 1, 2013 at 5:31

Hướng dẫn python subset dictionary based on value - từ điển tập con python dựa trên giá trị

Benjamin Jamesbenjamin JamesBenjamin James

8711 Huy hiệu vàng8 Huy hiệu bạc24 Huy hiệu đồng1 gold badge8 silver badges24 bronze badges

Bạn có thể sử dụng

smaller_things =  all values =3 in things 
2 để đi qua các cặp và thực hiện các thay đổi như sau:

smaller_things = {}
for k, v in things.items():
    if v == 3:
        smaller_things[k] = v

Nếu bạn muốn một lớp lót và chỉ cần các phím trở lại, danh sách hiểu sẽ làm điều đó:

smaller_things = [k for k, v in things.items() if v == 3]

>>> things = { 'a': 3, 'b': 2, 'c': 3 }
>>> [k for k, v in things.items() if v == 3]
['a', 'c']

Đã trả lời ngày 1 tháng 2 năm 2013 lúc 5:39Feb 1, 2013 at 5:39

Hướng dẫn python subset dictionary based on value - từ điển tập con python dựa trên giá trị

8

Bạn chỉ có thể đảo ngược từ điển và kéo từ đó:

keys_values = { 1:"a", 2:"b"}
values_keys = dict(zip(keys_values.values(), keys_values.keys()))
print values_keys
>>>  {"a":1, "b":2}

Bằng cách đó, bạn có thể làm bất cứ điều gì bạn cần với cú pháp từ điển tiêu chuẩn.

Hạn chế tiềm năng là nếu bạn có các giá trị không duy nhất trong từ điển ban đầu; Các mục trong bản gốc có cùng giá trị sẽ có cùng một khóa trong từ điển đảo ngược, vì vậy bạn không thể đảm bảo khóa nào trong số các khóa gốc sẽ là giá trị mới. Và có khả năng một số giá trị là không thể không thể (chẳng hạn như danh sách).

Trừ khi bạn có nhu cầu bắt buộc phải thông minh, việc lặp lại các mục sẽ dễ dàng hơn:

for key, val in my_dict.items():
    if matches_condition(val):
        do_something(key)

Đã trả lời ngày 1 tháng 2 năm 2013 lúc 5:44Feb 1, 2013 at 5:44

Hướng dẫn python subset dictionary based on value - từ điển tập con python dựa trên giá trị

Theodoxtheodoxtheodox

11.9k3 Huy hiệu vàng22 Huy hiệu bạc36 Huy hiệu đồng3 gold badges22 silver badges36 bronze badges

2

Vui lòng câu trả lời này theo hiểu biết của tôi về câu hỏi của bạn. Từ điển là một loại bảng băm, ý định chính của từ điển đang cung cấp chỉ số không số nguyên cho các giá trị. Các khóa trong từ điển cũng giống như các chỉ mục.

Giả sử hãy xem xét "mảng", các phần tử trong mảng được chỉ định bởi chỉ mục và chúng tôi có chỉ số cho các phần tử không phải là các phần tử cho chỉ mục. Chỉ như vậy, chúng ta có các khóa (chỉ mục không số nguyên) cho các giá trị trong từ điển.

Và có một hàm ý các giá trị trong từ điển là không thể băm Tôi có nghĩa là các giá trị trong từ điển là có thể thay đổi và các khóa trong từ điển là bất biến, chỉ đơn giản là các giá trị có thể được thay đổi bất cứ lúc nào.

Đơn giản là cách tiếp cận không tốt để giải quyết bất kỳ điều gì bằng cách sử dụng các giá trị trong từ điển

Đã trả lời ngày 1 tháng 2 năm 2013 lúc 5:43Feb 1, 2013 at 5:43

Neotamneotamneotam

2.4491 Huy hiệu vàng28 Huy hiệu bạc51 Huy hiệu đồng1 gold badge28 silver badges51 bronze badges

1

  • Xây dựng vấn đề và tổng quan về giải pháp
  • Phương pháp 1: Sử dụng dict.items () và Danh sách
  • Phương pháp 2: Sử dụng từ điển hiểu và sắp xếp ()
  • Phương pháp 3: Sử dụng Dictionary Hiểu Dict.Items ()
  • Phương pháp 4: Sử dụng khả năng hiểu từ điển và trong
  • Phương pháp 5: Sử dụng từ điển Hiểu và liệt kê ()
  • Bản tóm tắt
  • Lập trình hài hước

Xây dựng vấn đề và tổng quan về giải pháp

Phương pháp 1: Sử dụng dict.items () và Danh sách

Phương pháp 2: Sử dụng từ điển hiểu và sắp xếp ()

Phương pháp 3: Sử dụng Dictionary Hiểu Dict.Items ()

Phương pháp 4: Sử dụng khả năng hiểu từ điển và trongQuestion: How would we write code to extract a subset from a Dictionary?

Phương pháp 5: Sử dụng từ điển Hiểu và liệt kê ()

  • Bản tóm tắt1: Use
    smaller_things =  all values =3 in things 
    
    4() and
    smaller_things =  all values =3 in things 
    
    5
  • Lập trình hài hước2: Use Dictionary Comprehension and
    smaller_things =  all values =3 in things 
    
    6
  • Bài viết này sẽ chỉ cho bạn cách trích xuất một tập hợp con từ một từ điển trong Python.3: Use Dictionary Comprehension and
    smaller_things =  all values =3 in things 
    
    4()
  • Bài viết của chúng tôi hoạt động với một từ điển gọi là
    smaller_things =  all values =3 in things 
    
    3, chứa 30 khóa: Các cặp giá trị: một tên và mã lực liên quan.
    : Use Dictionary Comprehension and
    smaller_things =  all values =3 in things 
    
    8
  • {'Chevrolet Chevelle Malibu': '130.0', 'Buick Skylark 320': '165.0', 'Plymouth Satellite': '150.0', 'AMC Rebel SST': '150.0', 'Ford Torino': '140.0', 'Ford Galaxie 500': '198.0', 'Chevrolet Impala': '220.0', 'Plymouth Fury iii': '215.0', 'Pontiac Catalina': '225.0', 'AMC Ambassador DPL': '190.0', 'Citroen DS-21 Pallas': '115.0', 'Chevrolet Chevelle Concours (sw)': '165.0', 'Ford Torino (sw)': '153.0', 'Plymouth Satellite (sw)': '175.0', 'AMC Rebel SST (sw)': '175.0', 'Dodge Challenger SE': '170.0', "Plymouth 'Cuda 340": '160.0', 'Ford Mustang Boss 302': '140.0', 'Chevrolet Monte Carlo': '150.0', 'Buick Estate Wagon (sw)': '225.0', 'Toyota Corolla Mark ii': '95.0', 'Plymouth Duster': '95.0', 'AMC Hornet': '97.0', 'Ford Maverick': '85.0', 'Datsun PL510': '88.0', 'Volkswagen 1131 Deluxe Sedan': '46.0', 'Peugeot 504': '87.0', 'Audi 100 LS': '90.0', 'Saab 99e': '95.0', 'BMW 2002': '113.0'}
    : Use Dictionary Comprehension and
    smaller_things =  all values =3 in things 
    
    9

💬 Câu hỏi: Làm thế nào chúng ta sẽ viết mã để trích xuất một tập hợp con từ từ điển?

Chúng tôi có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau:Recommended Tutorial: How to Filter a Dictionary in Python? (… The Most Pythonic Way)


Phương pháp 1: Sử dụng dict.items () và Danh sách

Phương pháp 2: Sử dụng từ điển hiểu và sắp xếp ()

first_five = dict(list(cars.items())[:4])
print(first_five)

Phương pháp 3: Sử dụng Dictionary Hiểu Dict.Items ()

  • Phương pháp 4: Sử dụng khả năng hiểu từ điển và trong
  • Phương pháp 5: Sử dụng từ điển Hiểu và liệt kê ()
  • Bản tóm tắt

Lập trình hài hước

smaller_things = {}
for k, v in things.items():
    if v == 3:
        smaller_things[k] = v
6

Bài viết này sẽ chỉ cho bạn cách trích xuất một tập hợp con từ một từ điển trong Python.


Phương pháp 2: Sử dụng từ điển hiểu và sắp xếp ()

Phương pháp 3: Sử dụng Dictionary Hiểu Dict.Items ()

sorted_three = {k: cars[k] for k in sorted(cars.keys())[:3]}
print(sorted_three)

Phương pháp 4: Sử dụng khả năng hiểu từ điển và trong

Lập trình hài hước

smaller_things = {}
for k, v in things.items():
    if v == 3:
        smaller_things[k] = v
9

Bài viết này sẽ chỉ cho bạn cách trích xuất một tập hợp con từ một từ điển trong Python.


Phương pháp 3: Sử dụng Dictionary Hiểu Dict.Items ()

Phương pháp 4: Sử dụng khả năng hiểu từ điển và trong

hpower = {key: value for key, value in cars.items() if float(value) >= 220.0}
print(hpower)

Phương pháp 5: Sử dụng từ điển Hiểu và liệt kê ()

Lập trình hài hước

smaller_things = [k for k, v in things.items() if v == 3]

>>> things = { 'a': 3, 'b': 2, 'c': 3 }
>>> [k for k, v in things.items() if v == 3]
['a', 'c']
5

Bài viết này sẽ chỉ cho bạn cách trích xuất một tập hợp con từ một từ điển trong Python.


Phương pháp 4: Sử dụng khả năng hiểu từ điển và trong

Phương pháp 5: Sử dụng từ điển Hiểu và liệt kê ()

smaller_things =  all values =3 in things 
0

Bản tóm tắt

Lập trình hài hước

keys_values = { 1:"a", 2:"b"}
values_keys = dict(zip(keys_values.values(), keys_values.keys()))
print values_keys
>>>  {"a":1, "b":2}
2


Phương pháp 5: Sử dụng từ điển Hiểu và liệt kê ()

Bản tóm tắt

smaller_things =  all values =3 in things 
1

Mã này sử dụng khả năng hiểu từ điển và

smaller_things =  all values =3 in things 
9 để lặp lại thông qua vòng lặp. Nếu bộ đếm (
keys_values = { 1:"a", 2:"b"}
values_keys = dict(zip(keys_values.values(), keys_values.keys()))
print values_keys
>>>  {"a":1, "b":2}
5) nhỏ hơn hoặc bằng (
keys_values = { 1:"a", 2:"b"}
values_keys = dict(zip(keys_values.values(), keys_values.keys()))
print values_keys
>>>  {"a":1, "b":2}
6) 10, thì khóa: cặp giá trị được gắn vào
keys_values = { 1:"a", 2:"b"}
values_keys = dict(zip(keys_values.values(), keys_values.keys()))
print values_keys
>>>  {"a":1, "b":2}
7.

Kết quả là đầu ra cho thiết bị đầu cuối

keys_values = { 1:"a", 2:"b"}
values_keys = dict(zip(keys_values.values(), keys_values.keys()))
print values_keys
>>>  {"a":1, "b":2}
8

Python Enumerate () - Hướng dẫn đơn giản


Bản tóm tắt

Bài viết này đã cung cấp 5 cách để trích xuất một tập hợp con từ từ điển để chọn phù hợp nhất cho các yêu cầu mã hóa của bạn.

Chúc may mắn và mã hóa hạnh phúc!


Lập trình hài hước

Hướng dẫn python subset dictionary based on value - từ điển tập con python dựa trên giá trị

Hướng dẫn python subset dictionary based on value - từ điển tập con python dựa trên giá trị

Ở trường đại học, tôi tìm thấy tình yêu viết và mã hóa của mình. Cả hai trong số đó tôi đã có thể sử dụng trong sự nghiệp của mình.

Trong 15 năm qua, tôi đã giữ một số vị trí như:

Nhà văn kỹ thuật của công ty nội bộ cho các chương trình phần mềm khác nhau như Navision và Microsoft CRM Corporate Huấn luyện viên (nhân viên của 30+)
Corporate Trainer (staff of 30+)
Programming Instructor
Implementation Specialist for Navision and Microsoft CRM
Senior PHP Coder

Làm thế nào để bạn chọn một tập hợp con của một từ điển?

Sử dụng khả năng hiểu từ điển để lấy một tập hợp con của một từ điển. Sử dụng cú pháp {khóa: Giá trị cho khóa, giá trị trong dict. Các mục () nếu điều kiện} Để tạo một từ điển mới chứa từng khóa: cặp giá trị trong dict cho điều kiện là đúng. DIGN.. Use the syntax {key: value for key, value in dict. items() if condition} to create a new dictionary containing each key: value pair in dict for which condition is True . dict.

Làm thế nào để bạn cắt một từ điển trong Python?

Cho từ điển có giá trị như danh sách, cắt từng danh sách cho đến khi K. Input: test_dict = {Tiết kiệm là: [4, 6, 8]} Giải thích: Danh sách giá trị từ điển 3 chiều dài được trích xuất.slice each list till K. Input : test_dict = {“Gfg” : [1, 6, 3, 5, 7], “Best” : [5, 4, 2, 8, 9], “is” : [4, 6, 8, 4, 2]}, K = 3 Output : {'Gfg': [1, 6, 3], 'Best': [5, 4, 2], 'is': [4, 6, 8]} Explanation : The extracted 3 length dictionary value list.

Làm thế nào để bạn trích xuất một giá trị cụ thể từ một từ điển trong Python?

Dưới đây là 3 cách tiếp cận để trích xuất các giá trị từ điển như một danh sách trong Python:..
.
.
.

Điều gì được đặt hàng trong Python?

Lệnh của Python là một lớp con Dict bảo tồn thứ tự trong đó các cặp giá trị khóa, thường được gọi là các mục, được đưa vào từ điển.Khi bạn lặp lại một đối tượng đặt hàng, các mục được đi qua theo thứ tự ban đầu.Nếu bạn cập nhật giá trị của một khóa hiện có, thì thứ tự vẫn không thay đổi.a dict subclass that preserves the order in which key-value pairs, commonly known as items, are inserted into the dictionary. When you iterate over an OrderedDict object, items are traversed in the original order. If you update the value of an existing key, then the order remains unchanged.