Tôi chưa quen với Python và cố gắng tìm ra cách lặp lại thông qua một tuple lồng nhau.
Đây là một tuple:
x=[[1,2,['a', 'b', [6,9,7]], 6,['$','@']]]
Tôi đang cố gắng lặp lại để tôi có thể in từng giá trị riêng biệt như:
1
2
a
b
6
9
7
6
$
@
Đây là mã của tôi, vui lòng cho tôi biết tôi đang làm gì sai ở đây:
x=[[1,2,['a', 'b', [6,9,7]], 6,['$','@']]]
f=0
for y in x:
print[x[f]]
f = f+1
Bộ dữ liệu Python là bộ sưu tập các mặt hàng. Chúng là các đối tượng giống như mảng bất biến, đặt hàng và được lập chỉ mục cho phép trùng lặp. Bài viết này là tất cả về cách lặp lại thông qua các bộ dữ liệu. Bài đăng này bao gồm,
This post is all about how to iterate through tuples. This post covers,
- làm thế nào để lặp qua các yếu tố của một tuple;
- Cách lặp lại bằng cách sử dụng các chỉ mục trong các bộ dữ liệu;
- cách lặp lại bằng cách sử dụng các điều tra viên trong một tuple;
- làm thế nào để lặp qua các phần tử tuple trong một phạm vi;
- bỏ qua các mục khi lặp;
- làm thế nào để thực hiện các lần lặp lại trong một tuple, và;
- Làm thế nào để lặp lại và giải nén các bộ dữ liệu lồng nhau cùng một lúc.
Liên quan: Làm thế nào để tăng tốc các đường ống dữ liệu Python lên tới 91x? How to Speed up Python Data Pipelines up to 91X?
Làm thế nào để lặp qua các yếu tố của một tuple?
Tuples giống như bất kỳ sự khác biệt nào khác trong Python. Bạn có thể trực tiếp lặp qua các yếu tố của chúng trong một vòng lặp.
harry_potter_charectors = [
"Harry Potter",
"Hermione Granger",
"Ron Weasley",
"Severus Snape",
"Albus Dumbledore",
]
for role in harry_potter_charectors:
print[role]
Bạn cũng có thể lặp qua các yếu tố tuple bên trong một danh sách hiểu. Nó thường là cách ngắn gọn và thuận tiện nhất để lặp lại trong Python.
harry_potter_charectors = [
"Harry Potter",
"Hermione Granger",
"Ron Weasley",
"Severus Snape",
"Albus Dumbledore",
]
[print[role] for role in harry_potter_charectors]
Làm thế nào để lặp lại bằng cách sử dụng các chỉ mục trong các bộ dữ liệu?
Vì các bộ dữ liệu được đặt hàng và lập chỉ mục, chúng ta có thể truy cập các phần tử Tuple bằng các chỉ mục của chúng. Nếu chúng ta có thể tạo ra một tập hợp các chỉ mục, chúng ta có thể sử dụng chúng để lặp lại các phần tử Tuple.
Chẳng hạn, chúng ta có thể sử dụng hàm phạm vi để tạo một tập hợp các số và lặp lại trên chúng. Sau đó, chúng ta có thể sử dụng chỉ mục để truy cập phần tử cụ thể của tuple.
Một mẹo tiện dụng khác ở đây là sử dụng chiều dài của tuple làm giới hạn giới hạn trên của hàm phạm vi của chúng tôi. Bằng cách này, chúng ta có thể lặp qua tất cả các yếu tố trong một tuple.
# Loop through an index range. We set the upper limit to the length of the tuple.
for i in range[0, len[harry_potter_charectors]]:
# Get the tuple element by index
role = harry_potter_charectors[i]
print[role]
Làm thế nào để lặp bằng cách sử dụng các điều tra viên trong một tuple?
Một kỹ thuật hữu ích khác trong Python là sử dụng các điều tra viên khi lặp qua một tuple. Các điều tra viên cho phép chúng tôi truy cập cả phần tử và chỉ mục của nó cùng một lúc bên trong một vòng lặp.
for ix, item in enumerate[harry_potter_charectors]:
print[f"{item} is the charector # {ix+1} in Harry Potter"]
>>> Harry Potter is the charector # 1 in Harry Potter
>>> Hermione Granger is the charector # 2 in Harry Potter
>>> Ron Weasley is the charector # 3 in Harry Potter
>>> Severus Snape is the charector # 4 in Harry Potter
>>> Albus Dumbledore is the charector # 5 in Harry Potter
Làm thế nào để bỏ qua các mục khi lặp qua một tuple?
Đôi khi, chúng ta có thể chỉ cần lặp qua mọi yếu tố khác của một tuple. Nếu không phải là các yếu tố có khoảng cách cố định. Nếu vậy, chúng ta có thể cắt phần mềm trước khi lặp lại chúng.
Đây là một ví dụ.
harry_potter_charectors = [
"Harry Potter",
"Hermione Granger",
"Ron Weasley",
"Severus Snape",
"Albus Dumbledore",
]
for role in harry_potter_charectors[::2]:
print[role]
>>> Harry Potter
>>> Ron Weasley
>>> Albus Dumbledore
Làm thế nào để lặp qua các phần tử tuple trong một phạm vi?
Nếu bạn không muốn lặp qua tất cả các yếu tố nhưng muốn bắt đầu và kết thúc giữa việc lặp lại, bạn có thể sử dụng một phạm vi. Về cơ bản, chúng tôi đang lặp đi qua một lát tuple của chúng tôi.
for role in harry_potter_charectors[0:3]:
print[role]
>>> Harry Potter
>>> Hermione Granger
>>> Ron Weasley
Lặp lại trên các bộ dữ liệu lồng nhau.
Tuples có thể giữ bất kỳ dữ liệu trong đó. Có nghĩa là nó có thể có các bộ dữ liệu khác bên trong một tuple. Chúng tôi gọi chúng là những bộ dữ liệu lồng nhau.
Bộ dữ liệu lồng nhau rất phổ biến trong Python. Chúng tôi cũng có thể thực hiện một lần lặp lồng nhau trên chúng.
harry_potter_hose_charactors = [
["Harry Potter", "Hermione Granger", "Ron Weasley"],
["Severus Snape", "Draco Malfoy", "Lord Voldemort"],
["Luna Lovegood", "Quirinus Quirrell", "Cho Chang"],
["Hannah Abbott", "Fat Friar Ghost", "Teddy Lupin"],
]
for house in harry_potter_hose_charactors[0:3]:
for charactor in house:
print[charactor]
>>> Harry Potter
>>> Hermione Granger
>>> Ron Weasley
>>> Severus Snape
>>> Draco Malfoy
>>> Lord Voldemort
>>> Luna Lovegood
>>> Quirinus Quirrell
>>> Cho Chang
Lặp lại và giải nén các bộ dữ liệu lồng nhau cùng một lúc
Chúng ta có thể kết hợp bộ giải mã tuple trên các bộ dữ liệu lồng nhau.
Liên quan: Bộ dữ liệu trong Python là gì? Và mọi thứ bạn nên biết về họ. What Are Tuples in Python? And Everything You Should Know About Them.
Vòng lặp ngoài cùng là một vòng lặp thường xuyên. Bên trong họ, chúng tôi sử dụng việc giải nén Tuple thay vì lặp lại qua các yếu tố một lần nữa. Chúng tôi có thể gán chúng cho các biến và truy cập chúng trong mã.
Nếu bất kỳ phần tử tuple chưa đóng gói nào là một tuple khác [các bộ dữ liệu được lồng sâu] và chúng tôi cũng muốn lặp lại phần tử của nó, chúng tôi cũng có thể làm điều đó.
1
2
a
b
6
9
7
6
$
@
0Bài viết liên quan:
Làm thế nào để chuyển đổi một danh sách thành một chuỗi trong Python?
Làm thế nào để tìm chỉ mục của một phần tử trong danh sách trong Python?