Hướng dẫn parameter array in python - mảng tham số trong python

Tôi là một người mới hoàn chỉnh với Python và cố gắng chuyển một mảng như một đối số cho hàm Python tuyên bố danh sách/mảng là tham số.

Tôi chắc chắn rằng tôi đang tuyên bố sai,

đây là:

def dosomething(listparam):
         #do something here
dosomething(listargument)

Rõ ràng điều này không hoạt động, tôi đang làm gì sai?

Cảm ơn

Hỏi ngày 12 tháng 8 năm 2012 lúc 23:19Aug 12, 2012 at 23:19

Hướng dẫn parameter array in python - mảng tham số trong python

user1020069user1020069user1020069

1.4486 huy hiệu vàng24 Huy hiệu bạc40 Huy hiệu đồng6 gold badges24 silver badges40 bronze badges

4

Những gì bạn có là đi đúng hướng.

def dosomething( thelist ):
    for element in thelist:
        print element

dosomething( ['1','2','3'] )
alist = ['red','green','blue']
dosomething( alist )  

Tạo ra đầu ra:

1
2
3
red
green
blue

Một vài điều cần lưu ý đưa ra nhận xét của bạn ở trên: Không giống như trong các ngôn ngữ gia đình C, bạn thường không cần phải bận tâm đến việc theo dõi chỉ mục trong khi lặp lại danh sách, trừ khi bản thân chỉ mục là quan trọng. Tuy nhiên, nếu bạn thực sự cần chỉ số, bạn có thể sử dụng

def dosomething( thelist ):
    for element in thelist:
        print element

dosomething( ['1','2','3'] )
alist = ['red','green','blue']
dosomething( alist )  
3 để có được các cặp
def dosomething( thelist ):
    for element in thelist:
        print element

dosomething( ['1','2','3'] )
alist = ['red','green','blue']
dosomething( alist )  
4, thay vì thực hiện điệu nhảy
def dosomething( thelist ):
    for element in thelist:
        print element

dosomething( ['1','2','3'] )
alist = ['red','green','blue']
dosomething( alist )  
5.

Đã trả lời ngày 12 tháng 8 năm 2012 lúc 23:30Aug 12, 2012 at 23:30

Russell Borogoverussell BorogoveRussell Borogove

17.9k3 Huy hiệu vàng40 Huy hiệu bạc49 Huy hiệu đồng3 gold badges40 silver badges49 bronze badges

1

Có thể bạn muốn giải nén các phần tử của một mảng, tôi không biết nếu tôi có nó, nhưng dưới một ví dụ:

def my_func(*args):
    for a in args:
        print(a)

my_func(*[1,2,3,4])
my_list = ['a','b','c']
my_func(*my_list)

Đã trả lời ngày 12 tháng 8 năm 2012 lúc 23:40Aug 12, 2012 at 23:40

Tôi đoán tôi không rõ về những gì OP thực sự yêu cầu ... Bạn có muốn vượt qua toàn bộ mảng/danh sách và hoạt động trên nó bên trong chức năng không? Hoặc bạn có muốn điều tương tự được thực hiện trên mọi giá trị/mục trong mảng/danh sách. Nếu cái sau là những gì bạn ước tôi đã tìm thấy một phương pháp hoạt động tốt.

Tôi quen thuộc hơn với các ngôn ngữ lập trình như Fortran và C, trong đó bạn có thể xác định các hàm nguyên tố hoạt động trên mỗi phần tử bên trong một mảng. Cuối cùng tôi đã theo dõi Python tương đương với điều này và nghĩ rằng tôi sẽ đăng lại giải pháp ở đây. Điều quan trọng là 'vectorize' hàm. Đây là một ví dụ:

def myfunc(a,b):
    if (a>b): return a
    else: return b
vecfunc = np.vectorize(myfunc)
result=vecfunc([[1,2,3],[5,6,9]],[7,4,5])
print(result)

Output:

[[7 4 5]
 [7 6 9]]

Joren

2.99023 Huy hiệu bạc43 Huy hiệu đồng23 silver badges43 bronze badges

Đã trả lời ngày 5 tháng 2 năm 2015 lúc 14:10Feb 5, 2015 at 14:10

Điều đó có nghĩa là (các) tham số xuất hiện sau

def dosomething( thelist ):
    for element in thelist:
        print element

dosomething( ['1','2','3'] )
alist = ['red','green','blue']
dosomething( alist )  
6 chỉ là các tham số từ khóa.

Nội dung chính ShowShow

  • * Trong danh sách đối số Python là gì?
  • * Trong đối số chức năng Python là gì?
  • * Trong tham số Python là gì?
  • Có nghĩa là * có nghĩa là gì trước một cuộc tranh luận trong Python?
  • 3 loại đối số trong Python là gì?
  • __ init __ trong Python là gì?
  • 4 loại đối số trong Python là gì?
  • 4 loại chức năng trong Python là gì?
  • Đối số mặc định trong Python là gì?
  • * A trong Python là gì?
  • Có nghĩa là * có nghĩa là gì trong danh sách tham số trong Python?
  • Tham số * trong Python là gì?
  • Có nghĩa là * hàm python tham số là gì?
  • Có nghĩa là gì trong biến Python?

Xem xét những điều sau:

def test(delay, result=None, *, loop=None):
    print(delay, result, loop)

Trong trường hợp này,

def dosomething( thelist ):
    for element in thelist:
        print element

dosomething( ['1','2','3'] )
alist = ['red','green','blue']
dosomething( alist )  
7 sẽ tăng
def dosomething( thelist ):
    for element in thelist:
        print element

dosomething( ['1','2','3'] )
alist = ['red','green','blue']
dosomething( alist )  
8 vì nó đang mong đợi nhiều nhất hai đối số vị trí, tức là
def dosomething( thelist ):
    for element in thelist:
        print element

dosomething( ['1','2','3'] )
alist = ['red','green','blue']
dosomething( alist )  
9 và
1
2
3
red
green
blue
0:

test(1,2,2)

TypeError: test () lấy từ 1 đến 2 đối số vị trí nhưng 3 đã được đưa ra

Đối số thứ ba hoặc vòng lặp, chỉ có thể được gán nếu được sử dụng làm từ khóa:

test(1,2,loop=2)
# 1 2 2
# Works fine

Để biết thêm chi tiết, hãy tham khảo các định nghĩa chức năng

W3Schools được tối ưu hóa cho việc học và đào tạo. Ví dụ có thể được đơn giản hóa để cải thiện việc đọc và học tập. Hướng dẫn, tài liệu tham khảo và ví dụ được xem xét liên tục để tránh lỗi, nhưng chúng tôi không thể đảm bảo tính chính xác đầy đủ của tất cả các nội dung. Trong khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng, cookie và chính sách bảo mật của chúng tôi.

Bản quyền 1999-2022 bởi dữ liệu refsnes. Đã đăng ký Bản quyền. W3Schools được cung cấp bởi W3.CSS. W3Schools is Powered by W3.CSS.
W3Schools is Powered by W3.CSS.

Những gì * trong danh sách đối số trong Python với các ví dụ mã

Xin chào tất cả mọi người, trong bài đăng này, chúng tôi sẽ xem xét cách giải quyết những gì * trong danh sách đối số trong Python trong lập trình.

# It means that parameter(s) that comes after * are keyword only parameters.
# Consider the following:
def test(delay, result=None, *, loop=None):
    print(delay, result, loop)
'''
In this case, test(1,2,2) will raise TypeError since it is
expecting at most two positional arguments, i.e. delay and result:
test(1,2,2)
TypeError: test() takes from 1 to 2 positional arguments but 3 were given
'''
# The third argument, or loop, can only be assigned if used as keyword:
test(1,2,loop=2)
# 1 2 2
# Works fine

Những gì * trong danh sách đối số trong vấn đề Python đã được khắc phục bằng cách sử dụng nhiều ví dụ khác nhau.

* Trong danh sách đối số Python là gì?

Nó có nghĩa là (các) tham số sau * chỉ là từ khóa tham số.27-Aug-2019

* Trong đối số chức năng Python là gì?

* Trong tham số Python là gì?

* Trong tham số Python là gì?

Có nghĩa là * có nghĩa là gì trước một cuộc tranh luận trong Python?

Có nghĩa là * có nghĩa là gì trước một cuộc tranh luận trong Python?

3 loại đối số trong Python là gì?

3 loại đối số trong Python là gì?

__ init __ trong Python là gì?

__ init __ trong Python là gì?

4 loại đối số trong Python là gì?

4 loại đối số trong Python là gì?

4 loại chức năng trong Python là gì?

  • Đối số mặc định trong Python là gì?
  • * A trong Python là gì?
  • Có nghĩa là * có nghĩa là gì trong danh sách tham số trong Python?
  • Tham số * trong Python là gì?

4 loại chức năng trong Python là gì?

Đối số mặc định trong Python là gì?

  • * A trong Python là gì?
  • Có nghĩa là * có nghĩa là gì trong danh sách tham số trong Python?
  • Tham số * trong Python là gì?
  • Có nghĩa là * hàm python tham số là gì?

Đối số mặc định trong Python là gì?

* A trong Python là gì?

* A trong Python là gì?

Có nghĩa là * có nghĩa là gì trong danh sách tham số trong Python?

Tham số * trong Python là gì?modifiers and the changes they make are called side effects. Passing a list as an argument actually passes a reference to the list, not a copy of the list. Since lists are mutable, changes made to the elements referenced by the parameter change the same list that the argument is referencing. For example, the function below takes a list as an argument and multiplies each element in the list by 2:

Tham số

1
2
3
red
green
blue
1 và biến

test(1,2,2)
0 là bí danh cho cùng một đối tượng.

Vì đối tượng danh sách được chia sẻ bởi hai tài liệu tham khảo, chỉ có một bản sao. Nếu một hàm sửa đổi các phần tử của tham số danh sách, người gọi sẽ thấy sự thay đổi vì thay đổi xảy ra thành bản gốc.

Điều này có thể dễ dàng nhìn thấy trong codelens. Lưu ý rằng sau cuộc gọi đến

test(1,2,2)
1, tham số chính thức
1
2
3
red
green
blue
1 đề cập đến cùng một đối tượng với tham số thực tế
test(1,2,2)
0. Chỉ có một bản sao của chính đối tượng danh sách.

Hoạt động: CodeLens 10.19.2 (CHP09_PARM1_TRACE)

Bạn đã thử các hoạt động trên trang này of activities on this page of activities on this page

Có nghĩa là * có nghĩa là gì trong danh sách tham số trong Python?

Dấu hoa thị "*" được sử dụng trong Python để xác định một số lượng đối số khác nhau.Ký tự dấu hoa thị phải đi trước một định danh biến trong danh sách tham số.to define a variable number of arguments. The asterisk character has to precede a variable identifier in the parameter list.to define a variable number of arguments. The asterisk character has to precede a variable identifier in the parameter list.

Tham số * trong Python là gì?

Một tham số là biến được liệt kê bên trong dấu ngoặc đơn trong định nghĩa hàm.Một đối số là giá trị được gửi đến hàm khi nó được gọi.the variable listed inside the parentheses in the function definition. An argument is the value that is sent to the function when it is called.the variable listed inside the parentheses in the function definition. An argument is the value that is sent to the function when it is called.

Có nghĩa là * hàm python tham số là gì?

Nó có nghĩa là (các) tham số xuất hiện sau * chỉ là các tham số từ khóa.Hãy xem xét những điều sau: Kiểm tra DEF (độ trễ, result = none, *, loop = none): in (độ trễ, kết quả, vòng lặp)parameter(s) that comes after * are keyword only parameters. Consider the following: def test(delay, result=None, *, loop=None): print(delay, result, loop)parameter(s) that comes after * are keyword only parameters. Consider the following: def test(delay, result=None, *, loop=None): print(delay, result, loop)

Có nghĩa là gì trong biến Python?

Toán tử dấu hoa thị (STAR) được sử dụng trong Python với nhiều hơn một nghĩa được gắn vào nó.Đối với các loại dữ liệu số, * được sử dụng làm toán tử nhân >>> a = 10; b = 20 >>> a * b 200 >>> a = 1.5;b = 2,5;>>> a*b 3.75 >>> a = 2+3j;B = 3+2J >>> A*B 13J.multiplication operator >>> a=10;b=20 >>> a*b 200 >>> a=1.5; b=2.5; >>> a*b 3.75 >>> a=2+3j; b=3+2j >>> a*b 13j.multiplication operator >>> a=10;b=20 >>> a*b 200 >>> a=1.5; b=2.5; >>> a*b 3.75 >>> a=2+3j; b=3+2j >>> a*b 13j.