Hướng dẫn pass a dictionary to a function python - chuyển từ điển cho hàm python

Cải thiện bài viết

Lưu bài viết

Một từ điển trong Python là một tập hợp các dữ liệu không được đặt hàng và có thể thay đổi. Không giống như, các chỉ số số được sử dụng bởi danh sách, từ điển sử dụng khóa làm chỉ mục cho một giá trị cụ thể. Nó có thể được sử dụng để lưu trữ các loại dữ liệu không liên quan nhưng dữ liệu có liên quan như một thực thể trong thế giới thực. Bản thân các khóa được sử dụng để sử dụng một giá trị cụ thể.

Tham khảo bài viết dưới đây để có ý tưởng về Từ điển Python.

  • Từ điển Python

Truyền từ điển như một cuộc tranh luận

Trong Python, mọi thứ đều là một đối tượng, vì vậy từ điển có thể được truyền như một đối số cho một hàm như các biến khác được truyền.

Example:

def func(d):

John F. Kennedy
0____11
John F. Kennedy
2
John F. Kennedy
3
John F. Kennedy
4

John F. Kennedy
5
John F. Kennedy
6
John F. Kennedy
7
John F. Kennedy
8
John F. Kennedy
9
John F. Kennedy
x = 2
y = 0
0
John F. Kennedy
x = 2
y = 0
1

John F. Kennedy
x = 2
y = 0
2
John F. Kennedy
x = 2
y = 0
3
John F. Kennedy
x = 2
y = 0
4
John F. Kennedy
x = 2
y = 0
5
John F. Kennedy
x = 2
y = 0
6
John F. Kennedy
x = 2
y = 0
7
John F. Kennedy
x = 2
y = 0
8
John F. Kennedy
x = 2
y = 0
9
John F. Kennedy
x = 2
y = 0
6
data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)
1
John F. Kennedy
x = 2
y = 0
8
data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)
3
John F. Kennedy
x = 2
y = 0
6
data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)
5
data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)
6

data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)
7

Output:

key: b Value: 2
key: a Value: 1
key: c Value: 3

Đi qua từ điển như kwargs

Cấm

data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)
8 là viết tắt của các đối số từ khóa. Nó được sử dụng để chuyển các đối tượng dữ liệu nâng cao như từ điển cho một hàm vì trong các chức năng như vậy, người ta không có manh mối về số lượng đối số, do đó dữ liệu được truyền được xử lý đúng cách bằng cách thêm vào loại ** ** vào loại truyền.

Ví dụ 1:

def

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
0
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
1
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
1
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
3

John F. Kennedy
0
John F. Kennedy
6
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
6
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
7
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
8
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
9
my_function(school='DAV', standard='7', name='abc', city='delhi')
0
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
9
my_function(school='DAV', standard='7', name='abc', city='delhi')
2253
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
8
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
9
my_function(school='DAV', standard='7', name='abc', city='delhi')
0494952

def

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

2

John F. Kennedy
0

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

4
John F. Kennedy
x = 2
y = 0
3

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

6

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

7

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

8

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

9
John F. Kennedy
x = 2
y = 0
3

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

1

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

2

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

8

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

4
John F. Kennedy
x = 2
y = 0
3

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

6

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

7

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

8

Output:

John F. Kennedy

Ví dụ 2:

def def0

John F. Kennedy
x = 2
y = 0
3 def2def3
John F. Kennedy
x = 2
y = 0
3

John F. Kennedy
0
John F. Kennedy
6
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
6
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
7
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
8
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
9
my_function(school='DAV', standard='7', name='abc', city='delhi')
0
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
9
my_function(school='DAV', standard='7', name='abc', city='delhi')
2253
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
8
my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
9
my_function(school='DAV', standard='7', name='abc', city='delhi')
0494952

def

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

2

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

8

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

4
John F. Kennedy
x = 2
y = 0
3

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

6

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

7

def

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

2

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

8

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

4
John F. Kennedy
x = 2
y = 0
3

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

6

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

7

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

8

Output:

John F. Kennedy
x = 2
y = 0

Mã của tôi

Tệp đầu tiên:

data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)

Tệp thứ 2:

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name

Trong mã trên, chỉ các khóa từ điển "dữ liệu" được chuyển đến

John F. Kennedy
33, nhưng tôi muốn các cặp giá trị khóa được truyền. Làm thế nào để sửa chữa cái này?

Tôi muốn

John F. Kennedy
33 được sửa đổi như thế này

my_function(school='DAV', standard='7', name='abc', city='delhi')

Và đây là yêu cầu của tôi, đưa ra câu trả lời theo điều này

Chỉnh sửa: Lớp khóa từ điển được thay đổi thành tiêu chuẩn

Các loại đối số khác nhau

Đối với bất kỳ chức năng nào trong Python, chúng ta có thể có hai loại đối số tùy ý:

  • Đối số vị trí: Đây là các đối số chức năng cần được đưa vào hàm theo thứ tự cụ thể khi chúng được xác định.: These are function arguments that need to be fed to the function in the specific order as they were defined.

  • Đối số từ khóa: Đây là các đối số chức năng đã được đặt tên/từ khóa trong quá trình định nghĩa hàm. Bạn cần xác định từ khóa cụ thể khi chuyển đối số từ khóa (kwarg) cho một hàm.: These are function arguments that have been given a name/keyword during the function definition. You need to identify the specific keyword when passing a keyword argument (kwarg) to a function.

Từ khóa đối số

Đối số từ khóa có thể được cung cấp theo bất kỳ thứ tự nào, nhưng cần được chỉ định với từ khóa của chúng theo cách sau:

Ví dụ cú pháp ở trên cho thấy cách bạn có thể truyền nhiều đối số từ khóa trong một hàm yêu cầu chúng. Bạn cần chỉ định tên của đối số từ khóa theo sau là

John F. Kennedy
x = 2
y = 0
3 và sau đó bằng tham số bạn muốn truyền. Nếu hàm chấp nhận nhiều kwarg, thì bạn có thể chỉ định các tham số của mình theo bất kỳ thứ tự nào. Hàm tự động khớp với từ khóa với các biến chức năng chính xác.

Giải nén kwargs và từ điển

Các chức năng với kwarg thậm chí có thể lấy toàn bộ từ điển làm tham số; Tất nhiên, trong trường hợp đó, các khóa của từ điển phải giống như các từ khóa được xác định trong hàm.

Bạn không thể trực tiếp gửi từ điển dưới dạng tham số đến một hàm chấp nhận kwargs. Từ điển phải được giải nén để hàm có thể sử dụng các yếu tố của nó. Điều này được thực hiện bằng cách giải nén từ điển, bằng cách đặt

John F. Kennedy
36 trước tên từ điển khi bạn chuyển nó vào hàm.

Sau đây là một chương trình cho thấy cách bạn có thể sử dụng từ điển thay vì nhập từng kwarg.

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

Đôi khi, chúng ta cần có một số lượng kwarg khác trong một hàm; Trong những trường hợp như vậy, hàm gói tất cả các đối số trong một từ điển duy nhất.

Sau đây là định nghĩa của một hàm như vậy:

Các chức năng với các định nghĩa tương tự có thể có một số lượng kwarg tùy ý và có thể lấy một từ điển có độ dài tùy ý. Trong trường hợp này (khác với trước đó), các khóa từ điển không cần phải là bất cứ điều gì cụ thể. Điều này có thể được coi là tương tự như gửi một danh sách đến một chức năng.

Ví dụ sau đây giúp chúng tôi hiểu làm thế nào một chức năng như vậy sẽ giải nén và sử dụng từ điển:

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

Bản quyền © 2022 Giáo dục, Inc. Tất cả quyền được bảo lưu

Chúng ta có thể chuyển từ điển để lập bản đồ chức năng trong Python không?

Chúng ta có thể sử dụng bản đồ chức năng tích hợp Python () để áp dụng hàm cho từng mục trong một mục tiêu (như danh sách hoặc từ điển) và trả về một trình lặp mới để truy xuất kết quả.Bản đồ () trả về một đối tượng bản đồ (một trình lặp), mà chúng ta có thể sử dụng trong các phần khác của chương trình. and return a new iterator for retrieving the results. map() returns a map object (an iterator), which we can use in other parts of our program.

Bạn có thể chuyển một từ điển vào kwargs?

Bạn không thể trực tiếp gửi từ điển dưới dạng tham số đến một hàm chấp nhận kwargs.Từ điển phải được giải nén để hàm có thể sử dụng các yếu tố của nó.Điều này được thực hiện bằng cách giải nén từ điển, bằng cách đặt ** trước tên từ điển khi bạn chuyển nó vào hàm.. The dictionary must be unpacked so that the function may make use of its elements. This is done by unpacking the dictionary, by placing ** before the dictionary name as you pass it into the function.

Hàm Python có thể trả lại từ điển không?

Hàm Python có thể trả về bất kỳ đối tượng nào như từ điển.Để trả về một từ điển, trước tiên, hãy tạo đối tượng Dict trong phần thân hàm, gán nó cho một biến của bạn_dict và trả lại cho người gọi của chức năng bằng cách sử dụng hoạt động từ khóa, trả về của bạn.. To return a dictionary, first create the dict object within the function body, assign it to a variable your_dict , and return it to the caller of the function using the keyword operation “ return your_dict “.