Hướng dẫn how do i extract a specific value from a dictionary in python? - làm cách nào để trích xuất một giá trị cụ thể từ một từ điển trong python?

Tôi có bộ dữ liệu như thế này:

{'project-1': [{'id':'1','name':'john'},{'id':'20','name':'steve'}],
 'project-2': [{'id':'6','name':'jack'},{'id':'42','name':'anna'}]}

Điều tôi muốn trích xuất là tên của tất cả mọi người:

['john','steve','jack','anna']

Làm thế nào để có được những danh sách này bằng Python?

Đã hỏi ngày 22 tháng 11 năm 2017 lúc 8:31Nov 22, 2017 at 8:31

2

my_dict = {
    'project-1': [{'id':'1','name':'john'},{'id':'20','name':'steve'}],
    'project-2': [{'id':'6','name':'jack'},{'id':'42','name':'anna'}]
}

Bạn có thể sử dụng danh sách hiểu biết, nó nhận được trường

['john','steve','jack','anna']
2 từ mỗi từ điển có trong các nhóm phụ [nghĩa là trong các giá trị của từ điển gốc].

>>> [d.get['name'] for sublists in my_dict.values[] for d in sublists]
['john', 'steve', 'jack', 'anna']

Đã trả lời ngày 22 tháng 11 năm 2017 lúc 8:36Nov 22, 2017 at 8:36

AlexanderalexanderAlexander

Huy hiệu vàng 100K2828 gold badges190 silver badges186 bronze badges

0

Lặp đi lặp lại trên Dict, sau đó qua các giá trị của Dict hiện tại:

for d_ in d.values[]:
    for item in d_:
        print item['name']

Hoặc trong sự hiểu biết

names = [item['name'] for d_ in d.values[] for item in d_]
print names
['john', 'steve', 'jack', 'anna']

Đã trả lời ngày 22 tháng 11 năm 2017 lúc 8:37Nov 22, 2017 at 8:37

Chen A.CHEN A.Chen A.

9.1193 huy hiệu vàng37 Huy hiệu bạc53 Huy hiệu đồng3 gold badges37 silver badges53 bronze badges

Điều này nên làm điều đó.

d = {'project-1': [{'id':'1','name':'john'},{'id':'20','name':'steve'}],
     'project-2': [{'id':'6','name':'jack'},{'id':'42','name':'anna'}]}
result = list[]
for key in d:
    for x in d[key]:
        result.append[x['name']]

Đã trả lời ngày 22 tháng 11 năm 2017 lúc 8:39Nov 22, 2017 at 8:39

Nhiều giải pháp thử cùng một cách tiếp cận cũ ở đây bằng cách sử dụng

['john','steve','jack','anna']
3:

Đây là cách tiếp cận khác nhau:

Một giải pháp dòng mà không có bất kỳ vòng lặp:

Bạn có thể sử dụng chức năng Lambda với MAP:

data={'project-1': [{'id':'1','name':'john'},{'id':'20','name':'steve'}],
 'project-2': [{'id':'6','name':'jack'},{'id':'42','name':'anna'}]}



print[list[map[lambda x:list[map[lambda y:y['name'],x]],data.values[]]]]

output:

[['john', 'steve'], ['jack', 'anna']]

Đã trả lời ngày 22 tháng 11 năm 2017 lúc 9:15Nov 22, 2017 at 9:15

Aaditya uraaaditya uraAaditya Ura

11.3k7 Huy hiệu vàng44 Huy hiệu bạc77 Huy hiệu đồng7 gold badges44 silver badges77 bronze badges

name_id = {'project-1': [{'id':'1','name':'john'},{'id':'20','name':'steve'}], 'project-2': [{'id':'6','name':'jack'},{'id':'42','name':'anna'}]}

name_id['project-1'][0]['name'] = 'john'
name_id['project-1'][1]['name'] = 'steve'
name_id['project-2'][0]['name'] = 'jack'
name_id['project-2'][1]['name'] = 'anna'

['john','steve','jack','anna']
4 nhận được giá trị tương ứng với khóa
['john','steve','jack','anna']
5 trong từ điển
['john','steve','jack','anna']
6.
['john','steve','jack','anna']
7 là chỉ số danh sách cho phần tử đầu tiên trong giá trị từ điển.
['john','steve','jack','anna']
8 cũng là một chìa khóa, nhưng của từ điển trong phần tử đầu tiên của danh sách. Nó cung cấp cho bạn giá trị cuối cùng mà bạn muốn.

Đã trả lời ngày 22 tháng 11 năm 2017 lúc 8:40Nov 22, 2017 at 8:40

PollpennpollpennPollPenn

7031 Huy hiệu vàng7 Huy hiệu bạc16 Huy hiệu đồng1 gold badge7 silver badges16 bronze badges

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận

    Chúng tôi có rất nhiều biến thể và ứng dụng của các thùng chứa từ điển trong Python và đôi khi, chúng tôi muốn thực hiện một bộ lọc các phím trong từ điển, i.e chỉ trích xuất các khóa có trong thùng chứa cụ thể. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện. & NBSP;

    Python3

    Phương pháp 1: Trích xuất các khóa cụ thể từ từ điển bằng cách hiểu từ điển + các mục []

    >>> [d.get['name'] for sublists in my_dict.values[] for d in sublists]
    ['john', 'steve', 'jack', 'anna']
    
    8
    >>> [d.get['name'] for sublists in my_dict.values[] for d in sublists]
    ['john', 'steve', 'jack', 'anna']
    
    9
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    0
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    1
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    2
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    3

    Vấn đề này có thể được thực hiện bằng cách tái tạo bằng cách sử dụng các khóa được trích xuất thông qua hàm các mục muốn được lọc và hàm từ điển làm cho từ điển mong muốn.

    names = [item['name'] for d_ in d.values[] for item in d_]
    print names
    ['john', 'steve', 'jack', 'anna']
    
    1
    names = [item['name'] for d_ in d.values[] for item in d_]
    print names
    ['john', 'steve', 'jack', 'anna']
    
    2
    >>> [d.get['name'] for sublists in my_dict.values[] for d in sublists]
    ['john', 'steve', 'jack', 'anna']
    
    0
    my_dict = {
        'project-1': [{'id':'1','name':'john'},{'id':'20','name':'steve'}],
        'project-2': [{'id':'6','name':'jack'},{'id':'42','name':'anna'}]
    }
    
    5
    my_dict = {
        'project-1': [{'id':'1','name':'john'},{'id':'20','name':'steve'}],
        'project-2': [{'id':'6','name':'jack'},{'id':'42','name':'anna'}]
    }
    
    2
    names = [item['name'] for d_ in d.values[] for item in d_]
    print names
    ['john', 'steve', 'jack', 'anna']
    
    6

    >>> [d.get['name'] for sublists in my_dict.values[] for d in sublists]
    ['john', 'steve', 'jack', 'anna']
    
    8
    >>> [d.get['name'] for sublists in my_dict.values[] for d in sublists]
    ['john', 'steve', 'jack', 'anna']
    
    9
    names = [item['name'] for d_ in d.values[] for item in d_]
    print names
    ['john', 'steve', 'jack', 'anna']
    
    9
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    1
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    2
    d = {'project-1': [{'id':'1','name':'john'},{'id':'20','name':'steve'}],
         'project-2': [{'id':'6','name':'jack'},{'id':'42','name':'anna'}]}
    result = list[]
    for key in d:
        for x in d[key]:
            result.append[x['name']]
    
    2

    Đầu ra: & nbsp;

    ['john','steve','jack','anna']
    
    0

    Làm cách nào để nhận được giá trị của một khóa cụ thể trong từ điển? 

    Từ điển Python Get [] Phương thức Cú pháp:.

    Python3

    Phương pháp 1: Trích xuất các khóa cụ thể từ từ điển bằng cách hiểu từ điển + các mục []

    >>> [d.get['name'] for sublists in my_dict.values[] for d in sublists]
    ['john', 'steve', 'jack', 'anna']
    
    8
    >>> [d.get['name'] for sublists in my_dict.values[] for d in sublists]
    ['john', 'steve', 'jack', 'anna']
    
    9
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    0
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    1
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    2
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    3

    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    4___

    ['john','steve','jack','anna']
    
    00
    ['john','steve','jack','anna']
    
    01
    name_id = {'project-1': [{'id':'1','name':'john'},{'id':'20','name':'steve'}], 'project-2': [{'id':'6','name':'jack'},{'id':'42','name':'anna'}]}
    
    name_id['project-1'][0]['name'] = 'john'
    name_id['project-1'][1]['name'] = 'steve'
    name_id['project-2'][0]['name'] = 'jack'
    name_id['project-2'][1]['name'] = 'anna'
    
    3
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    9
    ['john','steve','jack','anna']
    
    04

    >>> [d.get['name'] for sublists in my_dict.values[] for d in sublists]
    ['john', 'steve', 'jack', 'anna']
    
    8
    >>> [d.get['name'] for sublists in my_dict.values[] for d in sublists]
    ['john', 'steve', 'jack', 'anna']
    
    9
    names = [item['name'] for d_ in d.values[] for item in d_]
    print names
    ['john', 'steve', 'jack', 'anna']
    
    9
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    1
    for d_ in d.values[]:
        for item in d_:
            print item['name']
    
    2
    d = {'project-1': [{'id':'1','name':'john'},{'id':'20','name':'steve'}],
         'project-2': [{'id':'6','name':'jack'},{'id':'42','name':'anna'}]}
    result = list[]
    for key in d:
        for x in d[key]:
            result.append[x['name']]
    
    2

    Đầu ra: & nbsp;

    ['john','steve','jack','anna']
    
    0

    Làm cách nào để nhận được giá trị của một khóa cụ thể trong từ điển?

    Từ điển Python Get [] Phương thức Cú pháp:..
    Cú pháp: Dict.get [khóa, mặc định = Không].
    Parameters:.
    Trả về: Trả về giá trị của mục với phím được chỉ định hoặc giá trị mặc định ..

    Hàm được sử dụng để lấy một giá trị cụ thể từ từ điển là gì?

    Phương pháp 2: Trích xuất các khóa cụ thể từ từ điển bằng cách sử dụng hàm dict [] có thể được sử dụng để thực hiện nhiệm vụ này bằng cách chuyển đổi logic được thực hiện bằng cách sử dụng danh sách hiểu thành từ điển.dict[] The dict[] function can be used to perform this task by converting the logic performed using list comprehension into a dictionary.

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

    Để nhận giá trị bằng khóa, chỉ cần chỉ định khóa như sau ...
    d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'} value = d ['key1'] print [value] # aaa.Nguồn: dict_get_key_from_value.py ..
    d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'} ....
    khóa = [k cho k, v trong d.....
    def get_keys_from_value [d, val]: return [k cho k, v trong d ..

    Làm thế nào để bạn tách một khóa khỏi một giá trị trong từ điển?

    Tạo một từ điển để làm điều đó bạn tách các cặp giá trị khóa bằng một dấu hai chấm [Hồi: Hồi].Các khóa sẽ cần phải thuộc loại bất biến, tức là, các loại dữ liệu mà các phím không thể thay đổi trong thời gian chạy như int, chuỗi, tuple, v.v. Các giá trị có thể thuộc bất kỳ loại nào.by a colon[“:”]. The keys would need to be of an immutable type, i.e., data-types for which the keys cannot be changed at runtime such as int, string, tuple, etc. The values can be of any type.

    Bài Viết Liên Quan

    Chủ Đề