Cặp giá trị khóa Python w3schools

Từ điển là cấu trúc dữ liệu tích hợp mạnh mẽ trong Python lưu trữ dữ liệu dưới dạng cặp khóa-giá trị. Tính năng Thông hiểu Từ điển có thể cực kỳ hữu ích trong việc tạo từ điển mới từ các từ điển và từ điển hiện có

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách hoạt động của tính năng hiểu từ điển trong Python bằng cách mã hóa một số ví dụ đơn giản

Từ điển trong Python là gì?

Từ điển trong Python cho phép chúng tôi lưu trữ một loạt ánh xạ giữa hai bộ giá trị, cụ thể là khóa và giá trị

  • Tất cả các mục trong từ điển được đặt trong một cặp dấu ngoặc nhọn
     = {: for  in }
    1
  • Mỗi mục trong từ điển là ánh xạ giữa khóa và giá trị - được gọi là cặp khóa-giá trị
  • Cặp khóa-giá trị thường được gọi là mục từ điển
  • Bạn có thể truy cập các giá trị này bằng các phím tương ứng

Đây là một ví dụ chung về từ điển

my_dict = {"key1":,"key2":,"key3":,"key4":}

Trong ví dụ trên,

  • Từ điển
     = {: for  in }
    2 chứa 4 cặp khóa-giá trị [mục]
  •  = {: for  in }
    3 đến
     = {: for  in }
    4 là 4 phím
  • Bạn có thể sử dụng
     = {: for  in }
    5 để truy cập
     = {: for  in }
    6,
     = {: for  in }
    7 để truy cập
     = {: for  in }
    8, v.v.

Bây giờ chúng ta đã biết từ điển Python là gì, hãy tiếp tục tìm hiểu về Hiểu từ điển

Cách sử dụng khả năng hiểu từ điển để tạo từ điển Python từ một Iterable

Trong phần này, hãy sử dụng khả năng hiểu từ điển để tạo một từ điển Python từ một danh sách có thể lặp lại, chẳng hạn như một danh sách hoặc một bộ dữ liệu

Chúng tôi có thể tạo một từ điển Python mới chỉ bằng một lần lặp nếu chúng tôi chọn tạo khóa hoặc giá trị một cách nhanh chóng

Khi chúng tôi chọn tạo các giá trị một cách nhanh chóng, chúng tôi có thể sử dụng các mục trong iterable làm khóa và ngược lại

Cú pháp chung được hiển thị dưới đây. Xin lưu ý rằng các tên giữa là phần giữ chỗ cho tên biến thực tế

 = {: for  in }

Hãy phân tích cú pháp trên

  •  = {: for  in }
    1 chỉ ra rằng chúng tôi đang điền vào một từ điển
  • Đối với mỗi mục trong lần lặp, chúng tôi tạo một cặp khóa-giá trị trong từ điển

▶ Thời gian cho một ví dụ nhanh

Hiểu từ điển Python - Ví dụ 1

Giả sử chúng tôi có một danh sách khách hàng ghé thăm cửa hàng của chúng tôi và chúng tôi muốn giảm giá ngẫu nhiên cho từng khách hàng. Chúng tôi muốn giá trị chiết khấu nằm trong khoảng từ $1 đến $100

Trong Python,
import random
customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
discount_dict = {customer:random.randint[1,100] for customer in customers}
print[discount_dict]

#Output

{'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}
0 trả về một số nguyên ngẫu nhiên giữa
import random
customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
discount_dict = {customer:random.randint[1,100] for customer in customers}
print[discount_dict]

#Output

{'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}
1 và
import random
customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
discount_dict = {customer:random.randint[1,100] for customer in customers}
print[discount_dict]

#Output

{'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}
2, trong đó bao gồm cả hai điểm cuối

Vì vậy, chúng ta có thể sử dụng hàm

import random
customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
discount_dict = {customer:random.randint[1,100] for customer in customers}
print[discount_dict]

#Output

{'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}
3 từ mô-đun ngẫu nhiên của Python để tạo chiết khấu từ $1 đến $100 cho mọi khách hàng trong danh sách của chúng ta

Đoạn mã sau đây cho thấy cách chúng ta có thể tạo

import random
customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
discount_dict = {customer:random.randint[1,100] for customer in customers}
print[discount_dict]

#Output

{'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}
4, một từ điển mới, từ danh sách khách hàng

import random
customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
discount_dict = {customer:random.randint[1,100] for customer in customers}
print[discount_dict]

#Output

{'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}

Ví dụ trên làm như sau

  • Lặp qua danh sách khách hàng [
    import random
    customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
    discount_dict = {customer:random.randint[1,100] for customer in customers}
    print[discount_dict]
    
    #Output
    
    {'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}
    5],
  • Sử dụng tên của từng khách hàng làm khóa và
  • Tạo chiết khấu ngẫu nhiên từ $1 đến $100 dưới dạng giá trị so với khóa

Cách sử dụng khả năng hiểu từ điển để tạo từ điển Python từ hai lần lặp

Điều gì sẽ xảy ra nếu chúng ta đã có các lần lặp được xác định trước có chứa các khóa và giá trị?

Bây giờ chúng ta có thể sử dụng hàm

 = {: for [key,value] in zip[list1,list2]}
0 của Python để nén hai danh sách này để tạo các cặp khóa-giá trị

Ghi chú. Hàm
 = {: for [key,value] in zip[list1,list2]}
1 lấy một chuỗi các lần lặp làm đối số và trả về một bộ lặp gồm các bộ lặp, như minh họa trong hình bên dưới

Vì vậy, bộ đầu tiên là cặp khóa-giá trị đầu tiên, bộ thứ hai là cặp khóa-giá trị thứ hai và nói chung, bộ thứ i là cặp khóa-giá trị thứ i

Trong trường hợp này, việc hiểu từ điển có dạng sau

 = {: for [key,value] in zip[list1,list2]}

Phân tích cú pháp trên khá đơn giản

  • Các khóa và giá trị có sẵn dưới dạng bộ vì chúng tôi đã nén chúng lại với nhau bằng cách sử dụng hàm
     = {: for [key,value] in zip[list1,list2]}
    0
  • Bây giờ, chúng tôi lặp qua bộ lặp này để lấy các cặp khóa-giá trị cho từ điển của chúng tôi

▶ Đã đến lúc cho một ví dụ nhanh khác

Hiểu từ điển Python - Ví dụ 2

Giả sử chúng ta muốn tạo một từ điển về nhiệt độ hàng tuần trong thành phố của mình. Ngày phải là khóa và nhiệt độ [tính bằng độ C] tương ứng với ngày phải là giá trị

Giả sử chúng ta có ngày và nhiệt độ trong hai danh sách như hình bên dưới

days = ["Sunday", "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
temp_C = [30.5,32.6,31.8,33.4,29.8,30.2,29.9]

Bây giờ chúng ta có thể tiến hành sử dụng khả năng hiểu từ điển để tạo từ điển nhiệt độ hàng tuần

# Creating a dictionary of weekly tempertaures
# from the list of temperatures and days

weekly_temp = {day:temp for [day,temp] in zip[days,temp_C]}

print[weekly_temp]

# Output
{'Sunday': 30.5, 'Monday': 32.6, 'Tuesday': 31.8, 'Wednesday': 33.4, 'Thursday': 29.8, 'Friday': 30.2, 'Saturday': 29.9}

Trong ví dụ trên, chúng tôi đã sử dụng hàm

 = {: for [key,value] in zip[list1,list2]}
0 để nén các danh sách ngày và nhiệt độ lại với nhau. Giờ đây, chúng tôi có thể truy cập vào từ điển bằng cách sử dụng bất kỳ ngày nào làm phím để lấy nhiệt độ vào ngày đó, như hình bên dưới

weekly_temp["Thursday"]
# Output
29.8

Cách sử dụng Phương thức items[] trên Từ điển Python

Cho đến giờ, chúng ta đã thấy cách sử dụng các phím để truy cập các giá trị. Làm cách nào để chúng tôi truy cập tất cả các cặp khóa-giá trị trong từ điển?

Để làm điều này, chúng ta có thể gọi phương thức

 = {: for [key,value] in zip[list1,list2]}
4 trên từ điển để lấy tất cả các cặp khóa-giá trị, như được hiển thị trong đoạn mã bên dưới

discount_dict.items[]

# Output
dict_items[[['Alex', 16], ['Bob', 26], ['Carol', 83], ['Dave', 21], ['Flow', 38], ['Katie', 47], ['Nate', 89]]]

Cách sử dụng khả năng hiểu từ điển để tạo từ điển Python từ một từ điển hiện có

Giả sử chúng ta đã có một từ điển Python. 📚

Tuy nhiên, chúng tôi muốn tạo một từ điển mới chỉ chứa các mục từ từ điển của chúng tôi đáp ứng một điều kiện cụ thể. Từ điển hiểu có thể thực sự hữu ích trong việc này

 = {: for [key,value] in .items[] if }

Hãy phân tích cú pháp trên. Chúng tôi sử dụng phương pháp

 = {: for [key,value] in zip[list1,list2]}
4 và lấy tất cả các cặp khóa-giá trị trong một từ điển hiện có

  • Chúng tôi truy cập mục từ điển đầu tiên và kiểm tra xem
     = {: for [key,value] in zip[list1,list2]}
    6 có ước lượng là  
     = {: for [key,value] in zip[list1,list2]}
    7
  • Nếu điều kiện là
     = {: for [key,value] in zip[list1,list2]}
    7, chúng tôi thêm mục đầu tiên vào từ điển mới của chúng tôi
  • Sau đó, chúng tôi lặp lại các bước này cho tất cả các mục trong từ điển hiện có

▶ Hãy lấy một ví dụ để xem nó hoạt động như thế nào

Hiểu từ điển Python - Ví dụ 3

Hãy xây dựng trên ví dụ giảm giá trước đó nơi chúng tôi đã tạo từ điển

import random
customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
discount_dict = {customer:random.randint[1,100] for customer in customers}
print[discount_dict]

#Output

{'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}
4. Hãy xem lại từ điển
import random
customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
discount_dict = {customer:random.randint[1,100] for customer in customers}
print[discount_dict]

#Output

{'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}
4 của chúng ta

{'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}

Chúng tôi thấy rằng một số khách hàng đã may mắn được chiết khấu cao hơn những khách hàng khác. Hãy giải quyết sự chênh lệch này và làm cho tất cả khách hàng của chúng tôi hài lòng. 😀

Giờ đây, chúng tôi muốn cung cấp cho những khách hàng được giảm giá dưới 30 đô la, giảm giá 10% cho lần mua hàng tiếp theo của họ. ✨

Trong trường hợp này, chúng tôi đang tạo một từ điển mới

days = ["Sunday", "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
temp_C = [30.5,32.6,31.8,33.4,29.8,30.2,29.9]
1 từ từ điển
import random
customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
discount_dict = {customer:random.randint[1,100] for customer in customers}
print[discount_dict]

#Output

{'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}
4 của chúng tôi

 = {: for  in }
0

Đoạn mã trên thực hiện như sau

  • Đối với mỗi mặt hàng trong
    import random
    customers = ["Alex","Bob","Carol","Dave","Flow","Katie","Nate"]
    discount_dict = {customer:random.randint[1,100] for customer in customers}
    print[discount_dict]
    
    #Output
    
    {'Alex': 16, 'Bob': 26, 'Carol': 83, 'Dave': 21, 'Flow': 38, 'Katie': 47, 'Nate': 89}
    4 của chúng tôi, nó khai thác giá trị chiết khấu
  • Nếu chiết khấu ít hơn $30, nó sẽ thêm cặp
    days = ["Sunday", "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
    temp_C = [30.5,32.6,31.8,33.4,29.8,30.2,29.9]
    4 tương ứng vào từ điển mới của chúng tôi
    days = ["Sunday", "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
    temp_C = [30.5,32.6,31.8,33.4,29.8,30.2,29.9]
    1

Lưu ý cách

days = ["Sunday", "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
temp_C = [30.5,32.6,31.8,33.4,29.8,30.2,29.9]
6,
days = ["Sunday", "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
temp_C = [30.5,32.6,31.8,33.4,29.8,30.2,29.9]
7 và
days = ["Sunday", "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
temp_C = [30.5,32.6,31.8,33.4,29.8,30.2,29.9]
8 được giảm giá dưới $30 đã được thêm vào từ điển mới

Phần kết luận

Hãy tóm tắt những gì chúng ta đã học được trong hướng dẫn này. Chúng ta đã biết cách sử dụng tính năng Hiểu từ điển để tạo từ điển Python từ

  • chỉ có một lần lặp,
  • hai lần lặp và
  • một từ điển hiện có sử dụng các điều kiện để lọc qua các mục

Cảm ơn bạn đã đọc. học tập vui vẻ. 🎉

bài viết liên quan

Đây là một bài viết giải thích hoạt động của hàm zip[] của Python

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Bala Priya C

Tôi là một nhà phát triển và nhà văn kỹ thuật đến từ Ấn Độ. Tôi viết hướng dẫn về mọi thứ liên quan đến lập trình và máy học

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

chìa khóa là gì

Cấu trúc bảng băm khóa/giá trị hiệu quả của Python được gọi là "dict". Nội dung của một dict có thể được viết dưới dạng một chuỗi khóa. cặp giá trị trong dấu ngoặc { } , e. g. chính tả = {key1. giá trị1, khóa2. giá trị2,. }. "Chính tả trống" chỉ là một cặp dấu ngoặc nhọn trống {}.

Python triển khai khóa như thế nào

Từ điển trong Python là một tập hợp các giá trị dữ liệu không theo thứ tự, được sử dụng để lưu trữ các giá trị dữ liệu giống như bản đồ, không giống như các Loại dữ liệu khác chỉ chứa một giá trị dưới dạng phần tử, Từ điển chứa . cặp giá trị . Trong khi sử dụng Từ điển, đôi khi chúng ta cần thêm hoặc sửa khóa/giá trị bên trong từ điển.

Chủ Đề