Python menemukan item dalam kamus

Pada artikel ini kita akan membahas bagaimana menemukan semua kunci yang terkait dengan nilai tunggal atau beberapa nilai yang diberikan

Misalkan kita memiliki kamus kata dan frekuensinya i. e

# Dictionary of strings and int
dictOfWords = {
    "hello": 56,
    "at" : 23 ,
    "test" : 43,
    "this" : 97,
    "here" : 43,
    "now" : 97
    }

Sekarang kami ingin mendapatkan semua kunci dalam kamus yang nilainya 43. Seperti dalam kasus kami akan ada dua kunci yang memiliki nilai 43 i. e

here
test
_

Sekarang mari kita lihat cara mendapatkan daftar kunci berdasarkan nilai yang diberikan

Iklan

Temukan kunci berdasarkan nilai dalam kamus

Sebagai, dikt. items() mengembalikan urutan iterable dari semua pasangan nilai kunci dalam kamus. Jadi, kami akan mengulangi urutan ini dan untuk setiap entri kami akan memeriksa apakah nilainya sama dengan nilai yang diberikan kemudian kami akan menambahkan kunci dalam daftar terpisah i. e

'''
Get a list of keys from dictionary which has the given value
'''
def getKeysByValue(dictOfElements, valueToFind):
    listOfKeys = list()
    listOfItems = dictOfElements.items()
    for item  in listOfItems:
        if item[1] == valueToFind:
            listOfKeys.append(item[0])
    return  listOfKeys

Sekarang mari gunakan fungsi ini untuk mendapatkan kunci dengan nilai 43 i. e

'''
Get list of keys with value 43
'''
listOfKeys = getKeysByValue(dictOfWords, 43)

print("Keys with value equal to 43")
#Iterate over the list of keys
for key  in listOfKeys:
        print(key)

Keluaran

here
test
_

Hal yang sama dapat dicapai dengan Daftar Pemahaman i. e

'''
Get list of keys with value 43 using list comprehension
'''        
listOfKeys = [key  for (key, value) in dictOfWords.items() if value == 43]

Temukan kunci dalam kamus berdasarkan daftar nilai

Misalkan kita ingin menemukan semua kunci dalam kamus yang nilainya cocok dengan salah satu nilai yang diberikan dalam daftar i. e

[43, 97]
_

Untuk melakukan itu, kami akan mengulangi urutan iterable yang dikembalikan oleh dict. item() dan untuk setiap entri kami akan memeriksa apakah nilainya cocok dengan entri mana pun dari daftar nilai yang diberikan, jika ya maka kami akan menambahkan kunci itu dalam daftar terpisah i. e

'''
Get a list of keys from dictionary which has value that matches with any value in given list of values
'''
def getKeysByValues(dictOfElements, listOfValues):
    listOfKeys = list()
    listOfItems = dictOfElements.items()
    for item  in listOfItems:
        if item[1] in listOfValues:
            listOfKeys.append(item[0])
    return  listOfKeys 

Sekarang mari kita gunakan ini untuk menemukan semua kunci dari kamus yang nilainya sama dengan nilai apa pun dari daftar i. e

Terkadang Anda mungkin perlu mencari item dalam daftar kamus dengan python. Pada artikel ini, kita akan melihat beberapa cara untuk mencari item dalam daftar kamus dengan Python


Cara Mencari Item di Daftar Kamus dengan Python

Berikut adalah beberapa cara untuk mencari item dalam daftar kamus dengan python. Katakanlah Anda memiliki kamus berikut

>>> data=[{'name':'Joe','age':20},{'name':'Tim','age':25},{'name':'Jim','age':30}]
>>> data
[{'age': 20, 'name': 'Joe'}, {'age': 25, 'name': 'Tim'}, {'age': 30, 'name': 'Jim'}]
_


1. Menggunakan lingkaran

Cara paling dasar untuk mencari item berdasarkan kunci, kombinasi nilai adalah mengulang setiap item dan mengembalikan kamus setelah ditemukan. Berikut adalah contoh di mana kami mencari kamus yang berisi nama = Jim

>>> for i in data:
	if i['name']=='Jim':
		print i
		
{'age': 30, 'name': 'Jim'}
_


2. Menggunakan next() dan pemahaman kamus

Anda juga dapat mencapai hasil di atas menggunakan pemahaman kamus dan fungsi next()

>>> res = next((sub for sub in data if sub['name'] == 'Jim'), None)
>>> res
{'age': 30, 'name': 'Jim'}

Pada artikel di atas, kita telah melihat cara mencari nilai kamus dan mengembalikannya. Anda dapat memodifikasi dan menggunakannya sesuai dengan kebutuhan Anda

Metode items()_ mengembalikan objek tampilan yang menampilkan daftar pasangan tupel kamus (kunci, nilai)

Contoh

marks = {'Physics':67, 'Maths':87}



# Output: dict_items([('Physics', 67), ('Maths', 87)])

Sintaks item Kamus ()

Sintaks metode items()_ adalah

dictionary.items()

Catatan. Metode items() mirip dengan metode viewitems() kamus di Python 2. 7


item() Parameter

Metode items()_ tidak menggunakan parameter apa pun


Kembalikan nilai dari item()

Metode items()_ mengembalikan objek tampilan yang menampilkan daftar pasangan tupel kamus (kunci, nilai) yang diberikan


Contoh 1. Dapatkan semua item kamus dengan item()

# random sales dictionary
sales = { 'apple': 2, 'orange': 3, 'grapes': 4 }

Keluaran

dict_items([('apple', 2), ('orange', 3), ('grapes', 4)])

Contoh 2. Bagaimana items() berfungsi ketika kamus dimodifikasi?

# random sales dictionary
sales = { 'apple': 2, 'orange': 3, 'grapes': 4 }


print('Original items:', items)

# delete an item from dictionary

print('Updated items:', items)

Keluaran

Original items: dict_items([('apple', 2), ('orange', 3), ('grapes', 4)])
Updated items: dict_items([('orange', 3), ('grapes', 4)])

Item objek tampilan tidak dengan sendirinya mengembalikan daftar item penjualan tetapi mengembalikan tampilan pasangan penjualan (kunci, nilai)

Jika daftar diperbarui kapan saja, perubahannya tercermin pada objek tampilan itu sendiri, seperti yang ditunjukkan pada program di atas

Bagaimana cara menemukan nilai tertentu dalam kamus?

Yang terkenal, atau saya harus mengatakan cara tradisional untuk mengakses nilai dalam kamus adalah dengan mengacu pada nama kuncinya, di dalam tanda kurung siku. Notice that when you want to access the value of the key that doesn't exist in the dictionary will result in a KeyError.

Bagaimana Anda menemukan nilai kunci dalam kamus Python?

Metode dict. keys() dan dict. values() mengembalikan daftar kunci atau nilai secara eksplisit. Ada juga items() yang mengembalikan daftar tupel (kunci, nilai), yang merupakan cara paling efisien untuk memeriksa semua data nilai kunci dalam kamus.

Bagaimana Anda memeriksa apakah kamus berisi item?

Untuk memeriksa apakah suatu nilai ada dalam kamus, i. e. , jika kamus memiliki/berisi nilai, gunakan operator in dan metode values() . Gunakan not in untuk memeriksa apakah suatu nilai tidak ada dalam kamus.

Apa yang dilakukan Items () pada Dict dengan Python?

Dalam Kamus Python, metode items() digunakan untuk mengembalikan daftar dengan semua kunci kamus dengan nilai . Parameter. Metode ini tidak memerlukan parameter. Pengembalian. Objek tampilan yang menampilkan daftar pasangan tupel kamus (kunci, nilai) yang diberikan.