Hướng dẫn python list function arguments - đối số hàm trong danh sách python

Chúng tôi sử dụng hai toán tử * (cho các bộ dữ liệu) và ** (cho từ điển). & Nbsp; 
 

Nội dung chính

  • Chúng ta có thể truyền danh sách dưới dạng đối số trong hàm Python không?
  • Làm thế nào để bạn giải nén một danh sách trong Python?
  • Chúng ta có thể giải nén danh sách trong Python không?
  • Làm thế nào để bạn vượt qua danh sách dưới dạng tham số trong Python?

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; Consider a situation where we have a function that receives four arguments. We want to make a call to this function and we have a list of size 4 with us that has all arguments for the function. If we simply pass a list to the function, the call doesn’t work.    
Consider a situation where we have a function that receives four arguments. We want to make a call to this function and we have a list of size 4 with us that has all arguments for the function. If we simply pass a list to the function, the call doesn’t work. 
 

Python3

(1, 2, 3, 4)
70
(1, 2, 3, 4)
71

(1, 2, 3, 4)
72____1010

(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)
6
(1, 2, 3, 4)
9
(1, 2, 3, 4)
6
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
1
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
2
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
3

Đầu ra: & nbsp;

(1, 2, 3, 4)
2

& 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;Unpacking We can use * to unpack the list so that all elements of it can be passed as different parameters. 
Unpacking 
We can use * to unpack the list so that all elements of it can be passed as different parameters.
 

Python3

(1, 2, 3, 4)
70
(1, 2, 3, 4)
71

(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)
6
(1, 2, 3, 4)
9
(1, 2, 3, 4)
6
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
1
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
2
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
3

Đầ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;Unpacking We can use * to unpack the list so that all elements of it can be passed as different parameters. 

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)
6
(1, 2, 3, 4)
9
(1, 2, 3, 4)
6
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
1
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
2
(1, 2, 3, 4)
60
(1, 2, 3, 4)
61
(1, 2, 3, 4)
62

& 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;

(1, 2, 3, 4)
70

(1, 2, 3, 4)
95
(1, 2, 3, 4)
13
(1, 2, 3, 4)
61
(1, 2, 3, 4)
15

Output:

Chú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ố.

Python3

(1, 2, 3, 4)
16

(1, 2, 3, 4)
63
(1, 2, 3, 4)
3
(1, 2, 3, 4)
4
(1, 2, 3, 4)
66
(1, 2, 3, 4)
6
(1, 2, 3, 4)
5
(1, 2, 3, 4)
6
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
1
(1, 2, 3, 4)
6
(1, 2, 3, 4)
92222

(1, 2, 3, 4)
4
(1, 2, 3, 4)
9
(1, 2, 3, 4)
6
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
1
(1, 2, 3, 4)
6
(1, 2, 3, 4)
709
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
2
(1, 2, 3, 4)
17
(1, 2, 3, 4)
18
(1, 2, 3, 4)
19
(1, 2, 3, 4)
9
(1, 2, 3, 4)
6__72
(1, 2, 3, 4)
17
(1, 2, 3, 4)
18
(1, 2, 3, 4)
19
(1, 2, 3, 4)
61
(1, 2, 3, 4)
722
(1, 2, 3, 4)
4
(1, 2, 3, 4)
9
(1, 2, 3, 4)
6
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
1
(1, 2, 3, 4)
6
(1, 2, 3, 4)
709
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
2

(1, 2, 3, 4)
711

Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
(1, 2, 3, 4)
97
(1, 2, 3, 4)
98
(1, 2, 3, 4)
99
(1, 2, 3, 4)
10
(1, 2, 3, 4)
99
(1, 2, 3, 4)
123
(1, 2, 3, 4)
4
(1, 2, 3, 4)
9
(1, 2, 3, 4)
6__72222
 
When we don’t know how many arguments need to be passed to a python function, we can use Packing to pack all arguments in a tuple. 
 

Python3

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)
70

(1, 2, 3, 4)
01
(1, 2, 3, 4)
61
(1, 2, 3, 4)
03
(1, 2, 3, 4)
0
(1, 2, 3, 4)
09
(1, 2, 3, 4)
5
(1, 2, 3, 4)
6
(1, 2, 3, 4)
7
(1, 2, 3, 4)
6
(1, 2, 3, 4)
9
(1, 2, 3, 4)
6
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
1
(1, 2, 3, 4)
6
(1, 2, 3, 4)
709
(1, 2, 3, 4)
19
(1, 2, 3, 4)
0
(1, 2, 3, 4)
09
(1, 2, 3, 4)
22
(1, 2, 3, 4)
6
(1, 2, 3, 4)
24
(1, 2, 3, 4)
19

(1, 2, 3, 4)
33
(1, 2, 3, 4)
4
(1, 2, 3, 4)
9
(1, 2, 3, 4)
6__72222 When we don’t know how many arguments need to be passed to a python function, we can use Packing to pack all arguments in a tuple.  

 

Đó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;

Output:     
Below is an example that shows both packing and unpacking. 
 

Python3

Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
7
(1, 2, 3, 4)
97
(1, 2, 3, 4)
06
(1, 2, 3, 4)
07 

(1, 2, 3, 4)
0
(1, 2, 3, 4)
30

(1, 2, 3, 4)
70

(1, 2, 3, 4)
27

(1, 2, 3, 4)
70

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; Below is an example that shows both packing and unpacking.  

Output:   
 

(1, 2, 3, 4)
6

(1, 2, 3, 4)
72

Đó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;41
(1, 2, 3, 4)
5
(1, 2, 3, 4)
43
(1, 2, 3, 4)
3
(1, 2, 3, 4)
51
 
 

Python3

** được sử dụng cho từ điển & nbsp; & nbsp;

(1, 2, 3, 4)
0
(1, 2, 3, 4)
30

(1, 2, 3, 4)
70

(1, 2, 3, 4)
64
(1, 2, 3, 4)
60
(1, 2, 3, 4)
61
(1, 2, 3, 4)
61
(1, 2, 3, 4)
86

Output:  
 

(1, 2, 3, 4)
9

Các 
 

Python3

Ở đâ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;

(1, 2, 3, 4)
0
(1, 2, 3, 4)
19
(1, 2, 3, 4)
95
(1, 2, 3, 4)
96

(1, 2, 3, 4)
70

(1, 2, 3, 4)
60
(1, 2, 3, 4)
61
(1, 2, 3, 4)
61
(1, 2, 3, 4)
91
(1, 2, 3, 4)
98
(1, 2, 3, 4)
99
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
00
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
01
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
08
(1, 2, 3, 4)
3
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
10
(1, 2, 3, 4)
6
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
12
(1, 2, 3, 4)
3
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
14
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
15
(1, 2, 3, 4)
3
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
17
(1, 2, 3, 4)
62

(1, 2, 3, 4)
6302
(1, 2, 3, 4)
0
(1, 2, 3, 4)
19
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
05
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
06
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
0702
(1, 2, 3, 4)
0
(1, 2, 3, 4)
19
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
05
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
06
Traceback (most recent call last):
  File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in 
    func(*args)
TypeError: func() takes 3 positional arguments but 4 were given
07

(1, 2, 3, 4)
1

Đầu ra

  1. Ứng dụng và điểm quan trọng & nbsp;
  2. Được sử dụng trong lập trình ổ cắm để gửi một số lượng lớn các yêu cầu đến máy chủ.
  3. Được sử dụng trong khung Django để gửi các đối số biến để xem các chức năng.
  4. Có các chức năng trình bao bọc yêu cầu chúng tôi vượt qua các đối số biến.

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;http://hangar.runway7.net/python/packing-unpacking-argumentsThis article is contributed by Shwetanshu Rohatgi. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above 
http://hangar.runway7.net/python/packing-unpacking-arguments
This article is contributed by Shwetanshu Rohatgi. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
 


Chúng ta có thể truyền danh sách dưới dạng đối số trong hàm Python không?

Bạn có thể gửi bất kỳ loại dữ liệu nào của đối số đến một hàm (chuỗi, số, danh sách, từ điển, v.v.) và nó sẽ được coi là cùng một loại dữ liệu bên trong hàm. (string, number, list, dictionary etc.), and it will be treated as the same data type inside the function. (string, number, list, dictionary etc.), and it will be treated as the same data type inside the function.

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.Use the asterisk (*) in front of a variable like this *variable_name to pack the leftover elements of a list into another list.

Chúng ta có thể giải nén danh sách trong Python không?

Chúng ta có thể giải nén hai danh sách Python thành một biến duy nhất.Nó sẽ trả về một tuple chứa tất cả các yếu tố từ cả hai danh sách.. It will return a tuple containing all the elements from both lists.. It will return a tuple containing all the elements from both lists.

Làm thế nào để bạn vượt qua danh sách dưới dạng tham số trong Python?

Trong Python, bạn có thể giải nén Danh sách, Tuple, Dict (Từ điển) và chuyển các yếu tố của nó để hoạt động như các đối số bằng cách thêm * vào danh sách hoặc Tuple và ** vào Từ điển khi gọi hàm.adding * to list or tuple and ** to dictionary when calling function.adding * to list or tuple and ** to dictionary when calling function.