Rumah > pembangunan bahagian belakang > Tutorial Python > Petua |. 11 mata pengetahuan 'Python Dictionary' yang mudah digunakan dan dilepaskan!

Petua |. 11 mata pengetahuan 'Python Dictionary' yang mudah digunakan dan dilepaskan!

Lepaskan: 2023-08-10 14:55:21
ke hadapan
813 orang telah melayarinya


Mengenai kamus Python, ia adalah jenis data yang sangat penting dalam Python. Selepas anda mempelajari pengetahuan asas, 字典konsep ini akan menemani anda dalam pengajian dan kerja seterusnya.
Oleh itu, berikut adalah beberapa perkara pengetahuan yang sangat penting yang semua orang perlu tahu.

Adakah kamus tidak teratur

Ramai rakan-rakan mungkin tidak jelas tentang konsep ini.
Dalam Python 2.7, kamus ialah struktur tidak tersusun. Susunan item kamus tidak teratur. Ini bermakna urutan item adalah deterministik dan boleh diulang.
>>> # Python 2.7
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
Salin selepas log masuk
Dalam Python 3.5, kamus masih tidak tersusun, tetapi kali ini ia adalah struktur data rawak. Ini bermakna setiap kali anda menjalankan semula kamus, anda akan mendapat susunan item yang berbeza.
>>> # Python 3.5
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
>>> a_dict
{'color': 'blue', 'pet': 'dog', 'fruit': 'apple'}
Salin selepas log masuk
Dalam Python 3.6 dan ke atas, kamus adalah struktur data yang tersusun, yang bermaksud bahawa ia mengekalkan elemen dalam susunan yang sama seperti yang diperkenalkan.
>>> a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
>>> a_dict
{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
Salin selepas log masuk

Pertukaran nilai kunci

Andaikan anda mempunyai kamus dan atas sebab tertentu anda perlu menukar kunci kepada nilai dan nilai kepada kunci, apakah yang perlu anda lakukan?
>>> a_dict = {'one': 1, 'two': 2, 'thee': 3, 'four': 4}
>>> new_dict = {}
>>> for key, value in a_dict.items():
...     new_dict[value] = key
...
>>> new_dict
{1: 'one', 2: 'two', 3: 'thee', 4: 'four'}
Salin selepas log masuk

Tapis kamus berdasarkan syarat tertentu

Kadangkala, anda perlu menapis kamus berdasarkan syarat tertentu. Maka ia adalah pilihan yang baik untuk bekerjasama dengan pernyataan bersyarat.
>>> a_dict = {'one': 1, 'two': 2, 'thee': 3, 'four': 4}
>>> new_dict = {}  # Create a new empty dictionary
>>> for key, value in a_dict.items():
...     if value <= 2:
...         new_dict[key] = value
...
>>> new_dict
{&#39;one&#39;: 1, &#39;two&#39;: 2}
Salin selepas log masuk

利用字典中的值,做一些计算

在Python中遍历字典时。需要进行一些计算也是很常见的。假设您已将公司销售额的数据存储在字典中,现在您想知道一年的总收入。
>>> incomes = {&#39;apple&#39;: 5600.00, &#39;orange&#39;: 3500.00, &#39;banana&#39;: 5000.00}
>>> total_income = 0.00
>>> for value in incomes.values():
...     total_income += value  # Accumulate the values in total_income
...
>>> total_income
14100.0
Salin selepas log masuk

字典推导式

字典推导式,是一个和列表推导式一样,具有很强大功能的知识点。因此,大家一定要掌握。
例如,假设您有两个数据列表,您需要根据它们创建一个新字典。
>>> objects = [&#39;blue&#39;, &#39;apple&#39;, &#39;dog&#39;]
>>> categories = [&#39;color&#39;, &#39;fruit&#39;, &#39;pet&#39;]
>>> a_dict = {key: value for key, value in zip(categories, objects)}
>>> a_dict
{&#39;color&#39;: &#39;blue&#39;, &#39;fruit&#39;: &#39;apple&#39;, &#39;pet&#39;: &#39;dog&#39;}
Salin selepas log masuk

利用字典推导式,实现键值转换

你会发现,使用字典推导式,是一个更简单、高效的操作。
>>> a_dict = {&#39;one&#39;: 1, &#39;two&#39;: 2, &#39;thee&#39;: 3, &#39;four&#39;: 4}
>>> new_dict = {value: key for key, value in a_dict.items()}
>>> new_dict
{1: &#39;one&#39;, 2: &#39;two&#39;, 3: &#39;thee&#39;, 4: &#39;four&#39;}
Salin selepas log masuk

利用字典推导式,过滤字典

>>> a_dict = {&#39;one&#39;: 1, &#39;two&#39;: 2, &#39;thee&#39;: 3, &#39;four&#39;: 4}
>>> new_dict = {k: v for k, v in a_dict.items() if v <= 2}
>>> new_dict
{&#39;one&#39;: 1, &#39;two&#39;: 2}
Salin selepas log masuk

利用字典推导式,做一些计算

>>> incomes = {&#39;apple&#39;: 5600.00, &#39;orange&#39;: 3500.00, &#39;banana&#39;: 5000.00}
>>> total_income = sum([value for value in incomes.values()])
>>> total_income
14100.0
Salin selepas log masuk

字典排序

从 Python 3.6 开始,字典是有序的数据结构,因此如果您使用 Python 3.6(及更高版本),您将能够通过使用sorted()并借助字典理解对任何字典的键,进行排序。
>> incomes = {&#39;apple&#39;: 5600.00, &#39;orange&#39;: 3500.00, &#39;banana&#39;: 5000.00}
>>> sorted_income = {k: incomes[k] for k in sorted(incomes)}
>>> sorted_income
{&#39;apple&#39;: 5600.0, &#39;banana&#39;: 5000.0, &#39;orange&#39;: 3500.0}
Salin selepas log masuk

内置函数,与字典配合使用

Python 提供了一些内置函数,这些函数在您处理集合(如字典)时可能会很有用。

map()函数

假设您有一个包含一堆产品价格的字典,并且您需要对它们应用折扣。
>>> prices = {&#39;apple&#39;: 0.40, &#39;orange&#39;: 0.35, &#39;banana&#39;: 0.25}
>>> def discount(current_price):
...     return (current_price[0], round(current_price[1] * 0.95, 2))
...
>>> new_prices = dict(map(discount, prices.items()))
>>> new_prices
{&#39;apple&#39;: 0.38, &#39;orange&#39;: 0.33, &#39;banana&#39;: 0.24}
Salin selepas log masuk

filter()函数

假设您想知道单价低于0.40的产品。
>>> prices = {&#39;apple&#39;: 0.40, &#39;orange&#39;: 0.35, &#39;banana&#39;: 0.25}
>>> def has_low_price(price):
...     return prices[price] < 0.4
...
>>> low_price = list(filter(has_low_price, prices.keys()))
>>> low_price
[&#39;orange&#39;, &#39;banana&#39;]
Salin selepas log masuk

字典解包运算符

这是很多人不清楚的概念,Python 3.5 带来了一个有趣的新特性,因此大家需要着重学习。
您可以使用字典解包运算符 ( **) 将两个字典合并为一个新字典。
>>> vegetable_prices = {&#39;pepper&#39;: 0.20, &#39;onion&#39;: 0.55}
>>> fruit_prices = {&#39;apple&#39;: 0.40, &#39;orange&#39;: 0.35, &#39;pepper&#39;: .25}
>>> {**vegetable_prices, **fruit_prices}
{&#39;pepper&#39;: 0.25, &#39;onion&#39;: 0.55, &#39;apple&#39;: 0.4, &#39;orange&#39;: 0.35}
Salin selepas log masuk
如果您尝试合并的字典,具有重复或公共键,则最右侧字典的值将补充上。

Atas ialah kandungan terperinci Petua |. 11 mata pengetahuan 'Python Dictionary' yang mudah digunakan dan dilepaskan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:Python当打之年
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan