Hướng dẫn what is unpacking in python? - giải nén trong python là gì?
Giải nén một tupleKhi chúng ta tạo một tuple, chúng ta thường gán các giá trị cho nó. Điều này được gọi là "Đóng gói" một tuple: Show Nhưng, trong Python, chúng tôi cũng được phép trích xuất các giá trị trở lại thành các biến. Điều này được gọi là "Giải nén": Thí dụGiải nén một tuple: trái cây = ("táo", "chuối", "anh đào") (xanh, vàng, đỏ) = trái cây in (màu xanh lá cây) in (màu vàng) in (màu đỏ) Hãy tự mình thử » LƯU Ý: Số lượng biến phải khớp với số lượng giá trị trong tuple, nếu không, bạn phải sử dụng dấu hoa thị để thu thập các giá trị còn lại làm danh sách. The number of variables must match the number of values in the tuple, if not, you must use an asterisk to collect the remaining values as a list. Sử dụng Asterisk*Nếu số lượng biến nhỏ hơn số lượng giá trị, bạn có thể thêm Thí dụGiải nén một tuple: trái cây = ("táo", "chuối", "anh đào") (xanh, vàng, đỏ) = trái cây in (màu xanh lá cây) in (màu vàng) in (màu đỏ) Hãy tự mình thử » LƯU Ý: Số lượng biến phải khớp với số lượng giá trị trong tuple, nếu không, bạn phải sử dụng dấu hoa thị để thu thập các giá trị còn lại làm danh sách. Thí dụGiải nén một tuple: trái cây = ("táo", "chuối", "anh đào") (xanh, vàng, đỏ) = trái cây in (màu xanh lá cây) in (màu vàng) in (màu đỏ) Hãy tự mình thử » Chúng tôi sử dụng hai toán tử * (cho các bộ dữ liệu) và ** (cho từ điển). & Nbsp; Bối cảnh & nbsp; xem xét một tình huống mà chúng ta có một chức năng nhận được bốn đối số. Chúng tôi muốn thực hiện một cuộc gọi đến chức năng này và chúng tôi có một danh sách kích thước 4 với chúng tôi có tất cả các đối số cho chức năng. Nếu chúng ta chỉ cần chuyển một danh sách cho chức năng, cuộc gọi không hoạt động. & Nbsp; & nbsp; Python3
(1, 2, 3, 4)0 (1, 2, 3, 4)1 (1, 2, 3, 4)2 (1, 2, 3, 4)3 (1, 2, 3, 4)4 (1, 2, 3, 4)5 (1, 2, 3, 4)6 (1, 2, 3, 4)7 (1, 2, 3, 4)8 (1, 2, 3, 4)9 (1, 2, 3, 4)8 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 (1, 2, 3, 4)8 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in3 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in4 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in5 Đầu ra: & nbsp; TypeError: fun() takes exactly 4 arguments (1 given) & nbsp; & nbsp; giải nén & nbsp; chúng ta có thể sử dụng * để giải nén danh sách để tất cả các yếu tố của nó có thể được truyền dưới dạng các tham số khác nhau. & nbsp; Python3
(1, 2, 3, 4)0 (1, 2, 3, 4)1 (1, 2, 3, 4)2 (1, 2, 3, 4)3 (1, 2, 3, 4)4 (1, 2, 3, 4)5 (1, 2, 3, 4)6 (1, 2, 3, 4)7 (1, 2, 3, 4)8 (1, 2, 3, 4)9 (1, 2, 3, 4)8 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 (1, 2, 3, 4)8 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in3 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in4 (Geeksforgeeks, awesome, world!)2 * (Geeksforgeeks, awesome, world!)4 Đầu ra: & nbsp; (1, 2, 3, 4) & nbsp; & nbsp; giải nén & nbsp; chúng ta có thể sử dụng * để giải nén danh sách để tất cả các yếu tố của nó có thể được truyền dưới dạng các tham số khác nhau. & nbsp; Python3Chúng ta cần ghi nhớ rằng không. Các đối số phải giống như độ dài của danh sách mà chúng tôi đang giải nén cho các đối số. (Geeksforgeeks, awesome, world!)5 (1, 2, 3, 4)5 (1, 2, 3, 4)6 (Geeksforgeeks, awesome, world!)8 (1, 2, 3, 4)8 (1, 2, 3, 4)7 (1, 2, 3, 4)8 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in3 (1, 2, 3, 4)8 2 4 104 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in4
2 4 107 5 * 7 Output: Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in (1, 2, 3, 4)1 2 4 109 0 1 2 1 4 Python38 Một ví dụ khác, hãy xem xét hàm Range () tích hợp () mong đợi các đối số bắt đầu và dừng riêng biệt. Nếu chúng không có sẵn một cách riêng biệt, hãy viết cuộc gọi chức năng với trình điều hành *để giải nén các đối số ra khỏi danh sách hoặc tuple: & nbsp; (1, 2, 3, 4)6 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 (1, 2, 3, 4)8 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in3 (1, 2, 3, 4)8 * 1Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in4 Các 9 * 0* 1* def 4(1, 2, 3, 4)6 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 (1, 2, 3, 4)8 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in3 (1, 2, 3, 4)8 * 1Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in4
Python3Đóng gói & nbsp; Khi chúng tôi không biết có bao nhiêu đối số cần được chuyển cho chức năng Python, chúng tôi có thể sử dụng đóng gói để đóng gói tất cả các đối số trong một tuple. & Nbsp; & nbsp;
(1, 2, 3, 4)03 * (1, 2, 3, 4)05 (1, 2, 3, 4)2 (1, 2, 3, 4)11 (1, 2, 3, 4)7 (1, 2, 3, 4)8 (1, 2, 3, 4)9 (1, 2, 3, 4)8 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 (1, 2, 3, 4)8 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in3 (1, 2, 3, 4)8 * 1(1, 2, 3, 4)21 (1, 2, 3, 4)2 (1, 2, 3, 4)11 (1, 2, 3, 4)24 (1, 2, 3, 4)8 (1, 2, 3, 4)26 (1, 2, 3, 4)21 Output: 15 30 (1, 2, 3, 4)1 2 4 109 (1, 2, 3, 4)08 (1, 2, 3, 4)09 Hàm trên mysum () thực hiện ’đóng gói để đóng gói tất cả các đối số mà phương thức gọi này nhận được thành một biến duy nhất. Khi chúng tôi có biến này có thể đóng gói, chúng tôi có thể làm mọi thứ với nó mà chúng tôi sẽ làm với một bộ dụng cụ bình thường. Args [0] và Args [1] sẽ cung cấp cho bạn đối số thứ nhất và thứ hai, tương ứng. Vì các bộ dữ liệu của chúng tôi là bất biến, bạn có thể chuyển đổi Tuple Args thành một danh sách để bạn cũng có thể sửa đổi, xóa và sắp xếp lại các mục trong I. & NBSP; Python3Đóng gói và giải nén & nbsp; Dưới đây là một ví dụ hiển thị cả đóng gói và giải nén. & Nbsp; & nbsp; (1, 2, 3, 4)1 (1, 2, 3, 4)2 (1, 2, 3, 4)32
(1, 2, 3, 4)29
(1, 2, 3, 4)34 * (1, 2, 3, 4)05 (1, 2, 3, 4)1 (Geeksforgeeks, awesome, world!)5 (1, 2, 3, 4)5 (1, 2, 3, 4)40 (1, 2, 3, 4)09 (1, 2, 3, 4)1 (1, 2, 3, 4)43 (Geeksforgeeks, awesome, world!)8 (1, 2, 3, 4)45 (1, 2, 3, 4)5 (1, 2, 3, 4)47 (1, 2, 3, 4)1 (1, 2, 3, 4)55 * 7 (1, 2, 3, 4)34 (1, 2, 3, 4)59 (1, 2, 3, 4)8 (1, 2, 3, 4)61 (1, 2, 3, 4)8 (1, 2, 3, 4)63 (1, 2, 3, 4)64 Output: (Geeksforgeeks, awesome, world!)
Python3** được sử dụng cho từ điển & nbsp; & nbsp; (1, 2, 3, 4)1 (1, 2, 3, 4)2 (1, 2, 3, 4)32
(1, 2, 3, 4)66 (Geeksforgeeks, awesome, world!)2 * * (1, 2, 3, 4)88 Output: 2 4 10 Ở đây ** Giải nén từ điển được sử dụng với nó và chuyển các mục trong từ điển làm đối số từ khóa cho hàm. Vì vậy, viết trò vui (1, ** d), tương đương với việc viết trò vui (1, b = 4, c = 10). & NBSP; Python3
(Geeksforgeeks, awesome, world!)2______7____________ (1, 2, 3, 4)93 (1, 2, 3, 4)1 (1, 2, 3, 4)2 * 1(1, 2, 3, 4)97 (1, 2, 3, 4)98 (1, 2, 3, 4)1 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in00 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in01 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in02 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in03 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in04__12 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in10 (1, 2, 3, 4)5 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in12 (1, 2, 3, 4)8 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in14 (1, 2, 3, 4)5 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in16 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in17 (1, 2, 3, 4)5 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in19 (1, 2, 3, 4)64 Đầu ra
Ứng dụng và điểm quan trọng & nbsp;
Tham khảo: & nbsp; http: //hangar.runway7.net/python/packing-unpacking-argumentsthis Bài viết được đóng góp bởi Shwetanshu Rohatgi. Nếu bạn thích GeekSforGeeks và muốn đóng góp, bạn cũng có thể viết một bài viết bằng Write.GeekSforGeek.org hoặc gửi bài viết của bạn. Xem bài viết của bạn xuất hiện trên trang chính của GeekSforGeek và giúp các chuyên viên máy tính khác. Xin vui lòng viết nhận xét nếu bạn tìm thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề được thảo luận ở trên & NBSP; Điều gì đang giải nén một tuple trong Python?Các bộ dữ liệu Python là bất biến có nghĩa là chúng không thể được sửa đổi trong toàn bộ chương trình.Đóng gói và giải nén một tuple: Trong Python, có một tính năng gán bộ tuple rất mạnh mẽ gán phía bên phải của các giá trị vào phía bên trái.Theo một cách khác, nó được gọi là giải nén một tuple của các giá trị thành một biến.unpacking of a tuple of values into a variable.
Dữ liệu giải nén có nghĩa là gì?1. Giải nén là một thuật ngữ mô tả khôi phục dữ liệu nén về trạng thái ban đầu của nó.2. Giải nén cũng đề cập đến cách các chương trình cơ sở dữ liệu đánh dấu các mục nhập để xóa.restoring compressed data to its original state. 2. Unpack also refers to the way database programs mark entries for deletion.
Chúng ta có thể giải nén danh sách trong Python không?Chúng ta có thể sử dụng * để giải nén danh sách để tất cả các yếu tố của nó có thể được truyền dưới dạng các tham số khác nhau.use * to unpack the list so that all elements of it can be passed as different parameters.
Làm thế nào để bạn giải nén một danh sách trong Python?Bản tóm tắt.Giải nén gán các phần tử của danh sách cho nhiều biến.Sử dụng dấu hoa thị ( *) trước một biến như *biến_name này để đóng gói các phần tử còn sót lại của danh sách vào danh sách khác.Use the asterisk (*) in front of a variable like this *variable_name to pack the leftover elements of a list into another list. |