Lê tôi chia sẻ với bạn câu trả lời cho các câu hỏi TOP Stack Overflow trên Từ điển Python.

Bạn đang xem : vòng lặp for trên từ điển

3 Cách Lặp lại Từ điển Python Sử dụng Vòng lặp Đối với

< h2 class = "pw-subtitle-paragraph ki jk jl bn b kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz co" id = "7c76">… và các câu trả lời khác cho các câu hỏi Stack Overflow phổ biến nhất trên từ điển Python.

Nhiều bạn đã liên hệ với tôi để yêu cầu cung cấp các tài nguyên có giá trị để bắt đầu các cuộc phỏng vấn Kỹ thuật Dữ liệu dựa trên Python . Dưới đây tôi chia sẻ 3 khóa học theo yêu cầu mà tôi thực sự khuyên bạn nên học:

Hy vọng bạn cũng sẽ thấy chúng hữu ích! Bây giờ hãy thưởng thức bài viết: D

Giới thiệu

Từ điển Python được định nghĩa là một tập hợp các giá trị dữ liệu, trong đó các mục được giữ dưới dạng các cặp khóa-giá trị. Vì lý do này, từ điển còn được gọi là mảng kết hợp.

Nếu bạn là người mới sử dụng Python hoặc bạn đang chuẩn bị cho vòng viết mã tiếp theo, bạn có thể đã vấp phải một số thuật toán yêu cầu tương tác với từ điển.

Tuy nhiên, có vẻ như từ điển tiếp tục tạo ra sự quan tâm không chỉ đối với những người mới mà còn giữa các nhà phát triển có kinh nghiệm hơn. Thực tế, khi xem xét câu hỏi về Stack Overflow Python hàng đầu mọi thời đại , có vẻ như ba trong số các chủ đề được bình chọn nhiều nhất là :

  • Làm cách nào để duyệt qua từ điển bằng vòng lặp ‘for’?
  • Làm cách nào để kiểm tra xem khóa đã cho đã tồn tại trong từ điển chưa?
  • Làm cách nào để thêm khóa mới vào từ điển?

>

Trong này , tôi sẽ cố gắng cung cấp cho bạn câu trả lời ngắn gọn và rõ ràng cho từng câu hỏi này. Điều này sẽ giúp bạn không phải xem qua hàng tá bình luận trên web.

Hãy bắt đầu từ đầu! 👆👆🏽👆🏻

Làm cách nào để lặp lại từ điển bằng vòng lặp ‘for’?

Để trả lời câu hỏi này, tôi đã tạo một từ điển bao gồm dữ liệu của một giao dịch ngân hàng trực tuyến giả:

 

transaction_data = {
'transaction_id': 1000001,
'source_country': 'United Kingdom',
'target_country': 'Italy',
'send_currency': 'GBP',
'send_amount': 1000.00,
'target_currency ':' EUR ',
' fx_rate ': 1.1648674,
' fee_pct ': 0.50,
' platform ':' mobile '
}

Phương pháp 1: Lặp lại bằng For Loop + Indexing

Cách dễ nhất để duyệt qua từ điển bằng Python, là để đặt nó trực tiếp trong vòng lặp for . Python sẽ tự động coi transaction_data như một từ điển và cho phép bạn lặp lại các khóa của nó.

Sau đó, để cũng có quyền truy cập vào các giá trị, bạn có thể chuyển từng khóa vào từ điển bằng toán tử lập chỉ mục [] :

 

# PHƯƠNG PHÁP 1 - Chưa phân loại < br /> cho khóa trong transaction_data:
print (key, ':', transaction_data [key])

Sản lượng [1]:
transaction_id: 1000001
source_country: Vương quốc Anh
target_country: Ý
send_currency: GBP
send_amount: 1000.0
target_currency: EUR
fx_rate: 1.1648674
fee_pct: 0.5
platform: mobile

Như bạn thấy, các phím không được sắp xếp theo thứ tự bảng chữ cái. Để đạt được điều đó, bạn chỉ cần chuyển transaction_data sang phương thức sorted () :

 

# PHƯƠNG PHÁP 1 - Đã sắp xếp
cho khóa trong được sắp xếp (transaction_data):
print (key, ':', transaction_data [key])

Sản lượng [2]:
fee_pct: 0,5
fx_rate : 1.1648674
nền tảng: mobile
send_amount: 1000.0
send_currency: GBP
source_country: Vương quốc Anh
target_country: Ý
target_currency: EUR
transaction_id : 1000001

Phương pháp 2: Lặp lại Sử dụng .keys () + Lập chỉ mục

Có thể thu được kết quả tương tự bằng cách sử dụng phương thức . key () trả về một đối tượng Python bao gồm các khóa của từ điển. < / p>

Điều này đặc biệt hữu ích khi bạn chỉ cần lặp lại các khóa của từ điển, nhưng nó cũng có thể được sử dụng kết hợp với toán tử lập chỉ mục để truy xuất các giá trị:

 

# PHƯƠNG PHÁP 2
cho khóa trong transaction_data. key ():
print (key, '- & gt;', transaction_data [key])

Đầu ra [3]:
transaction_id - & gt; 1000001
source_country - & gt; Vương quốc Anh
target_country - & gt; Ý
send_currency - & gt; GBP
send_amount - & gt; 1000.0
target_currency - & gt; EUR
fx_rate - & gt; 1.1648674
fee_pct - & gt; Nền tảng 0,5
- & gt; di động

Cách 3 : Lặp lại Sử dụng .items ()

Tuy nhiên, cách” hay ho “và thanh lịch nhất để lặp qua từ điển là sử dụng phương thức . items () , trả về chế độ xem các mục trong từ điển dưới dạng bộ giá trị:

 

print (transaction_data.items ())

Đầu ra [4]: ​​
dict_items ([('transaction_id', 1000001),
('source_country', 'United Kingdom'),
('target_country', 'Italy '),
(' send_currency ',' GBP '),
(' send_amount ', 1000.0),
(' target_currency ',' EUR '),
('fx_rate', 1.1648674),
('fee_pct', 0.5),
('platform', 'mobile')])

Để lặp lại các phím và giá trị của từ điển transaction_data , bạn chỉ cần ‘giải nén’ hai mục được nhúng trong bộ tuple như hình dưới đây:

 

# PHƯƠNG PHÁP 3 < br /> cho k, v trong transaction_data.items ():
print (k, '& gt; & gt;', v)

Đầu ra [5]:
transaction_id & gt; & gt; 1000001
source_country & gt; & gt; Vương quốc Anh
target_country & gt; & gt; Nước Ý
send_currency & gt; & gt; GBP
send_amount & gt; & gt; 1000.0
target_currency & gt; & gt; EUR
fx_rate & gt; & gt; 1.1648674
fee_pct & gt; & gt; Nền tảng 0,5
& gt; & gt; di động

Lưu ý rằng k v chỉ là bí danh chuẩn cho ‘key’ và ‘value’, nhưng bạn cũng có thể chọn một quy ước đặt tên thay thế. Ví dụ: sử dụng a b dẫn đến cùng một kết quả:

 

cho a, b trong transaction_data.items ():
print (a, ' ~ ', b)

Đầu ra [6]:
transaction_id ~ 1000001
source_country ~ Vương quốc Anh
target_country ~ Ý
send_currency ~ GBP
send_amount ~ 1000.0
target_currency ~ EUR
fx_rate ~ 1.1648674
fee_pct ~ 0.5
platform ~ mobile

Thêm – Lặp lại Thông qua Từ điển Lồng nhau 🤓

Nhưng điều gì sẽ xảy ra nếu bạn cần lặp lại từ điển lồng nhau như transac tion_data_n ? Trong trường hợp này, mỗi một khóa đại diện cho một giao dịch và có một giá trị từ điển:

 

transaction_data_n = {
'transaction_1': {
'transaction_id': 1000001, < br /> 'source_country': 'United Kingdom',
'target_country': 'Italy',
'send_currency': 'GBP',
'send_amount': 1000,00,
'target_currency': 'EUR',
'fx_rate': 1.1648674,
'fee_pct': 0.50,
'platform': 'mobile'
},
' transaction_2 ': {
' transaction_id ': 1000002,
' source_country ':' United Kingdom ',
' target_country ':' Germany ',
' send_currency ':' GBP ' ,
'send_amount': 3320.00,
'target_currency': 'EUR',
'fx_rate': 1.1648674,
'fee_pct': 0,50,
'platform' : 'Web'
},
'transaction_3': {
'transaction_id': 1000003,
'source_country': 'United Kingdom',
'target_country': 'Bỉ',
'send_currency': 'G BP ',
' send_amount ': 1250.00,
' target_currency ':' EUR ',
' fx_rate ': 1.1648674,
' fee_pct ': 0,50,
' platform ':' Web '
}
}

Để giải nén các cặp khóa-giá trị thuộc mỗi từ điển lồng nhau, bạn có thể sử dụng vòng lặp sau:

 

# 1. Chọn các cặp khóa-giá trị cho tất cả các giao dịch

cho k, v trong transaction_data_n.items ():
nếu loại (v) là dict:
cho nk, nv > trong v.items ():
print ( nk , '→', nv )

# nk và nv là viết tắt của khóa lồng nhau và giá trị lồng nhau < / strong>

Đầu ra [7]:
transaction_id - & gt; 1000001
source_country - & gt; Vương quốc Anh
target_country - & gt; Ý
send_currency - & gt; GBP
send_amount - & gt; 1000.0
target_currency - & gt; EUR
fx_rate - & gt; 1.1648674
fee_pct - & gt; Nền tảng 0,5
- & gt; di động
transaction_id - & gt; 1000002
source_country - & gt; Vương quốc Anh
target_country - & gt; Đức
send_currency - & gt; GBP
send_amount - & gt; 3320.0
target_currency - & gt; EUR
fx_rate - & gt; 1.1648674
fee_pct - & gt; Nền tảng 0,5
- & gt; Web
transaction_id - & gt; 1000003
source_country - & gt; Vương quốc Anh
target_country - & gt; Bỉ
send_currency - & gt; GBP
send_amount - & gt; 1250.0
target_currency - & gt; EUR
fx_rate - & gt; 1.1648674
fee_pct - & gt; Nền tảng 0,5
- & gt; Web

------------------ -----------

# 2. Chọn các cặp khóa-giá trị cho 'chỉ giao dịch_2'

for k, v in transaction_data_n.items ():
nếu type (v) là dict và k == 'transaction_2':
cho sk , sv trong v.items ():
print ( sk , '- & gt;', sv < / strong>)

Sản lượng [8]: < / strong>
transaction_id - & gt; 1000002
source_country - & gt; Vương quốc Anh
target_country - & gt; Đức
send_currency - & gt; GBP
send_amount - & gt; 3320.0
target_currency - & gt; EUR
fx_rate - & gt; 1.1648674
fee_pct - & gt; Nền tảng 0,5
- & gt; Web

Làm cách nào để kiểm tra xem một khóa nhất định đã tồn tại trong từ điển hay chưa?

Bạn có thể kiểm tra tư cách thành viên trong từ điển Python bằng cách sử dụng trong toán tử.

Cụ thể, giả sử bạn muốn kiểm tra xem trường send_currency có khả dụng dưới dạng khóa trong transaction_data . Trong trường hợp này, bạn có thể chạy:

 

' send_currency 'in transaction_data.keys ()

Đầu ra [ 9]:
Đúng

Tương tự, để kiểm tra xem giá trị GBP đã được gán cho một khóa trong từ điển, bạn có thể chạy:

 

'GBP 'in transaction_data.values ​​()

Đầu ra [10 ]:
Đúng

Tuy nhiên, kiểm tra ở trên sẽ không cho bạn biết ngay lập tức nếu GBP là giá trị được gán cho khóa send_currency hoặc target_currency . Để xác nhận điều đó, bạn có thể chuyển một tuple tới phương thức values ​​() :

 

('send_currency', 'GBP') trong transaction_data.items ()

Đầu ra [10]:
Đúng

('target_currency', 'GBP') trong transaction_data.items ()

Đầu ra [11]:
Sai

Nếu từ điển transaction_data bao gồm hàng trăm giá trị, thì đây sẽ là cách hoàn hảo để kiểm tra rằng GBP thực sự là send_currency cho giao dịch cụ thể đó.

Tiện dụng! 😏😏😏

Cách thêm khóa mới vào từ điển?

Cuối cùng, hãy giả sử rằng, tại một số điểm, Nhóm Analytics đã yêu cầu bạn thêm cả user_address và các trường user_email vào dữ liệu có sẵn trong từ điển. Bạn sẽ đạt được điều đó bằng cách nào?

Có hai phương pháp chính:

  • Sử dụng dấu ngoặc vuông [] ký hiệu:
 

transaction_data ['user_address'] = '221b Phố Baker, Luân Đôn - Vương quốc Anh'

for k, v in transaction_data.items ():
print (k, ':', v)

Sản lượng [12]:
< / strong> transaction_id: 1000001
source_country: Vương quốc Anh
target_country: Ý
send_currency: GBP
send_amount: 1000.0
target_currency: EUR
fx_rate: 1.1648674
fee_pct: 0,5 Nền tảng
: mobile
user_address: 221b Baker Street, London - UK

  • Ngoài ra, bạn có thể sử dụng phương thức update () , nhưng có một cần nhập nhiều hơn một chút:
 

transaction_data.update (user_email='user@example.com ')

for k, v trong transaction_data.items ():
print (k, '::', v)

Đầu ra [13]:
transaction_id :: 1000001
source_country :: Vương quốc Anh
target_country :: Ý
send_currency :: GBP send_amount :: 1000.0
target_currency :: EUR
fx_rate :: 1.1648674
fee_pct :: 0.5
platform :: mobile
user_address :: 221b Baker Street, London - Vương quốc Anh
user_email :: user@example.com

Kết luận

Trong bài viết này, tôi đã chia sẻ 3 phương pháp để lặp qua từ điển Python với vòng lặp 'for' và trích xuất các cặp khóa-giá trị một cách hiệu quả. Tuy nhiên, hãy lưu ý rằng còn tồn tại nhiều giải pháp 'khó hiểu' hơn nữa (tức là từ điển hiểu được).

Mặc dù là một chủ đề tương đối cơ bản, nhưng" làm thế nào để lặp qua từ điển Python? ", là một trong những câu hỏi được bình chọn nhiều nhất từng được hỏi trên Stack Overflow .

Vì lý do này, tôi cũng đã trả lời cho hai câu hỏi Stack Overflow cực kỳ phổ biến khác về việc kiểm tra tư cách thành viên và thêm các cặp khóa-giá trị mới sang từ điển Python.

Tôi hy vọng rằng bạn sẽ sử dụng bài viết này để làm rõ tất cả những nghi ngờ của bạn về các từ điển ở cùng một nơi. Học code rất thú vị và sẽ thay đổi cuộc sống của bạn trở nên tốt đẹp, vì vậy hãy tiếp tục học hỏi!


Xem thêm những thông tin liên quan đến chủ đề vòng lặp for trên từ điển

Vòng lặp For/in

  • Tác giả: F8 Official
  • Ngày đăng: 2020-01-17
  • Đánh giá: 4 ⭐ ( 8202 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Truy cập ngay https://f8.edu.vn và học tại đây để quản lý được tiến độ học và hơn thế nữa!

    hoclaptrinh javascript mienphi
    ----------------------------------------------/-------------
    © Bản quyền thuộc về MyCV.vn
    © Copyright by MyCV.vn ☞ Do not Reup

    Liên hệ: SƠN ĐẶNG
    ► Facebook: https://url.mycv.vn/sondn-fb?ref=yt
    ► Email: sondnf8@gmail.com
    ---------------------------------------
    ► Học lập trình: https://url.mycv.vn/f8?ref=yt
    ► Viết CV xin việc: https://url.mycv.vn/mycv?ref=yt
    ---------------------------------------
    HỌC LẬP TRÌNH MIỄN PHÍ
    ► Khóa Javascript cơ bản: https://url.mycv.vn/js-basic?ref=yt

[verilog FPGA DE2] vòng lặp for

  • Tác giả: www.dientuvietnam.net
  • Đánh giá: 4 ⭐ ( 9820 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Nơi trao đổi các vấn đề liên quan đến kỹ thuật mạch GAL - PAL - CPLD - FPGA.
    Mod: jefflieu, tonyvandinh

Cách dùng vòng lặp for trong Python

  • Tác giả: thptsoctrang.edu.vn
  • Đánh giá: 4 ⭐ ( 3631 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vòng lặp for là một kỹ năng lập trình thiết yếu. Hãy cùng THPT Sóc Trăng học cách sử dụng Loops trong Python nhé!

Vòng lặp FOR là gì, Nghĩa của từ Vòng lặp FOR | Từ điển Việt - Anh

  • Tác giả: www.rung.vn
  • Đánh giá: 3 ⭐ ( 1806 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vòng lặp FOR là gì: for loop

Ba lý do không sử dụng forEach thay cho vòng lặp for cổ điển - Cộng đồng Java Việt Nam

  • Tác giả: congdongjava.com
  • Đánh giá: 3 ⭐ ( 7827 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: 1. Cách viết forEach và for

    Hãy xem xét đoạn code sau:

    List list = Arrays.asList(1, 2, 3);

    // Kiểu cũ
    for (Integer i : list)
    System.out.println(i);

    //...

Vòng Lặp For Trong C++

  • Tác giả: techacademy.edu.vn
  • Đánh giá: 3 ⭐ ( 6235 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài này chúng ta sẽ cùng tìm hiểu về vòng lặp for trong C++, kết thúc bài học mình cũng có soạn 1 số bài tập vòng lặp for trong C++ có lời giải nhé. Vòng lặp là một khái niệm khá trừu tượng, nó thể hiện cho một hành động được lặp đi […]

Swift Lặp lại Mảng và Từ điển

  • Tác giả: websitehcm.com
  • Đánh giá: 5 ⭐ ( 9766 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Swift Lặp lại Mảng và Từ điển w3seo Cần lặp qua các mảng để thực hiện các thao tác trên một mục riêng lẻ của mảng và từ điển.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Cách thêm nhận xét trong CSS cho chính bạn hoặc nhà phát triển của bạn - làm thế nào để bình luận về css

By ads_php