Giải nén python có thể lặp lại

Python có một tính năng thú vị cho phép chúng tôi đóng gói và giải nén các giá trị từ các lần lặp trong một nhiệm vụ duy nhất. Ban đầu, nó bắt đầu như một thứ chỉ có thể thực hiện với các bộ dữ liệu nhưng sau đó được khái quát hóa cho các lần lặp khác khi các học viên nhận ra tính hiệu quả của nó

Chuỗi là tập hợp các giá trị được sắp xếp theo thứ tự. Khi một danh sách được khởi tạo, chỉ mục của các giá trị sẽ không thay đổi. Một số ví dụ về trình tự là Danh sách, Từ điển, Bộ dữ liệu và Chuỗi

Iterables là tập hợp các giá trị mà bạn có thể lặp lại. Tất cả các trình tự đều có thể lặp lại, nhưng không phải tất cả các lần lặp đều là trình tự. Ví dụ: Bộ

x = {12, 6, 9}
print[x]

# Result
>> {6, 9, 12}

Vì vậy, thứ tự khởi tạo các giá trị trong tập hợp không giống như cách nó xuất hiện. Ngoài ra, Bộ chỉ trả về các phần tử duy nhất

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}

Giải nén cơ bản

Bạn có thể thực hiện quy trình giải nén cho tất cả các loại iterables như danh sách, bộ dữ liệu, chuỗi, trình vòng lặp và trình tạo

Có 2 cách để giải nén iterables trong Python

  1. Đối với các lần lặp có độ dài đã biết - Cung cấp số lượng biến chính xác để giải nén dưới dạng số phần tử trong chuỗi/có thể lặp lại
  2. Đối với các lần lặp có độ dài tùy ý - Sử dụng
    x = {12, 6, 9, 9}
    print[x]
    
    # Result
    >> {6, 9, 12}
    8 để giải nén khi bạn không chắc chắn về số lượng biến cần chuyển

Hãy xem xét một vài ví dụ

Giải nén các lần lặp có độ dài đã biết

Khi độ dài của kiểu dữ liệu rất rõ ràng, bạn có thể chuyển số biến chính xác thành số giá trị trong kiểu dữ liệu để giải nén các giá trị

my_info = ["Lenin", "Mishra", 28, "Amsterdam"]

name, surname, age, place = my_info

# Result
>>> name
'Lenin'
>>> surname
'Mishra'
>>> age
28
>>> place
'Amsterdam'

Vì tôi biết rằng có 4 giá trị trong danh sách của tôi. Tôi đang chuyển 4 biến để giải nén các giá trị đó. Các giá trị được giải nén theo thứ tự như các biến được cung cấp

Nếu có sự không phù hợp giữa các giá trị và biến, Python sẽ báo lỗi cho bạn

Trong trường hợp khi cung cấp ít biến hơn, Python sẽ cho bạn biết rằng có quá nhiều giá trị cần giải nén

ví dụ 1

my_info = ["Lenin", "Mishra", 28, "Amsterdam"]
name, other_info = my_info

# Result
Traceback [most recent call last]:
  File , line 2, in 
    name, other_info = my_info
ValueError: too many values to unpack [expected 2]

Trong trường hợp khi cung cấp nhiều biến hơn, Python sẽ cho bạn biết rằng không có đủ giá trị để giải nén

ví dụ 2

my_info = ["Lenin", "Mishra", 28, "Amsterdam"]
name, surname, age, place, other = my_info

# Result
Traceback [most recent call last]:
  File , line 2, in 
    name, surname, age, place, other = my_info
ValueError: not enough values to unpack [expected 5, got 4]

Giải nén trình tự trong một trình tự

Hãy xem một ví dụ khác. Giả sử bạn cung cấp tên và họ dưới dạng một bộ [hoặc bất kỳ chuỗi nào]

my_info = [["Lenin", "Mishra"], 28, "Amsterdam"]

name, age, place = my_info

# Result
>>> name
['Lenin', 'Mishra']
>>> age
28
>>> place
'Amsterdam'

Bây giờ, biến

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}
9 lưu bộ dữ liệu dưới dạng giá trị với cả tên và họ làm thông tin. Nếu chúng ta muốn trích xuất cả hai phần của tên, chúng ta có thể chuyển vào một chuỗi các biến

________số 8

Làm cách nào để loại bỏ các giá trị trong khi giải nén?

Cũng có thể loại bỏ một số giá trị mà bạn có thể không cần trong khi giải nén

Giả sử bạn không quan tâm đến thông tin

my_info = ["Lenin", "Mishra", 28, "Amsterdam"]

name, surname, age, place = my_info

# Result
>>> name
'Lenin'
>>> surname
'Mishra'
>>> age
28
>>> place
'Amsterdam'
0. Bạn có thể sử dụng
my_info = ["Lenin", "Mishra", 28, "Amsterdam"]

name, surname, age, place = my_info

# Result
>>> name
'Lenin'
>>> surname
'Mishra'
>>> age
28
>>> place
'Amsterdam'
1 để bỏ qua giá trị đã giải nén

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}
1

Làm cách nào để giải nén từ điển Python?

Quá trình giải nén một từ điển python không giống như giải nén một bộ python hoặc một danh sách. Khi bạn áp dụng phương pháp trên cho từ điển, bạn sẽ chỉ giải nén các khóa

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}
2

Bây giờ để lấy các giá trị cho các khóa từ điển tương ứng, bạn phải gọi khóa từ điển

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}
3

Giải nén các lần lặp có độ dài tùy ý

Hãy Trung thực. Không phải lúc nào cũng có thể cung cấp tất cả các biến cần thiết để giải nén các giá trị. Hãy tưởng tượng việc cung cấp một triệu biến để giải nén danh sách chứa 1000 bản ghi. Đó chỉ là cẩu thả

Hãy xem một ví dụ. Giả sử bạn có danh sách điểm đại học từ học kỳ 1 đến học kỳ 6. Trong khi tính trung bình, bạn quyết định bỏ qua điểm đầu tiên và điểm cuối cùng

Trong trường hợp này, bạn cần giải nén tất cả các điểm giữa giá trị đầu tiên và giá trị cuối cùng

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}
0

Hãy xem một thông điệp tường trình. Để tìm hiểu thêm về Đăng nhập bằng Python, hãy xem bài viết này

Những gì chúng tôi muốn đạt được là nhận được

my_info = ["Lenin", "Mishra", 28, "Amsterdam"]

name, surname, age, place = my_info

# Result
>>> name
'Lenin'
>>> surname
'Mishra'
>>> age
28
>>> place
'Amsterdam'
2 và
my_info = ["Lenin", "Mishra", 28, "Amsterdam"]

name, surname, age, place = my_info

# Result
>>> name
'Lenin'
>>> surname
'Mishra'
>>> age
28
>>> place
'Amsterdam'
3

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}
1

Việc sử dụng

my_info = ["Lenin", "Mishra", 28, "Amsterdam"]

name, surname, age, place = my_info

# Result
>>> name
'Lenin'
>>> surname
'Mishra'
>>> age
28
>>> place
'Amsterdam'
4 giúp giải nén rất thuận tiện cho các lần lặp có độ dài tùy ý. Hãy tưởng tượng bạn đang đọc một tệp bằng Python và bạn muốn bỏ qua các tiêu đề. Bạn có thể áp dụng một kỹ thuật tương tự như trên

Bạn cũng có thể loại bỏ các giá trị không liên quan bằng cách sử dụng

my_info = ["Lenin", "Mishra", 28, "Amsterdam"]

name, surname, age, place = my_info

# Result
>>> name
'Lenin'
>>> surname
'Mishra'
>>> age
28
>>> place
'Amsterdam'
1 với
my_info = ["Lenin", "Mishra", 28, "Amsterdam"]

name, surname, age, place = my_info

# Result
>>> name
'Lenin'
>>> surname
'Mishra'
>>> age
28
>>> place
'Amsterdam'
4

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}
2

Làm cách nào để bỏ qua tiêu đề trong CSV bằng Python?

Bạn có thể sử dụng các kỹ thuật giải nén ở trên để bỏ qua tiêu đề của CSV trong Python

Giả sử một tệp CSV có tên là sinh viên. csv với nội dung sau

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}
3

Bạn có thể thoát khỏi tiêu đề theo 2 cách

Phương pháp 1

Mã số

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}
4

đầu ra

x = {12, 6, 9, 9}
print[x]

# Result
>> {6, 9, 12}
5

Bằng cách sử dụng phương pháp này, bạn lưu trữ tiêu đề trong một biến để sử dụng sau này. Bạn không hoàn toàn bỏ qua nó

Chủ Đề