Chức năng lưu trữ python trong từ điển

Bất kỳ đối tượng nào, chẳng hạn như từ điển, có thể là giá trị trả về của hàm Python. Tạo đối tượng từ điển trong thân hàm, gán nó cho bất kỳ biến nào và trả lại từ điển cho người gọi hàm

Giá trị dữ liệu được lưu trữ dưới dạng khóa. cặp giá trị trong từ điển. Từ điển là một bộ sưu tập được sắp xếp theo thứ tự, có thể thay đổi và cấm trùng lặp

Trong bài viết này, chúng ta sẽ thảo luận về các phương thức khác nhau để trả về một từ điển từ một hàm Python

Sử dụng từ điển hiểu

Một dòng mã Python có thể tạo và khởi tạo từ điển bằng cách sử dụng cách đơn giản và hiệu quả về bộ nhớ được gọi là Hiểu từ điển. Biểu thức và ngữ cảnh là hai thành phần của việc hiểu từ điển. Biểu thức chỉ định ánh xạ khóa-giá trị. Bối cảnh chỉ định cặp [khóa, giá trị] nào sẽ được đưa vào từ điển mới bằng cách lặp qua một lần lặp bằng cách sử dụng vòng lặp for một dòng

Ví dụ

Ví dụ sau đây cho thấy cách áp dụng một biểu thức cụ thể để lấy khóa. ánh xạ giá trị được lưu trữ cho biến vòng lặp "x" trong khi lặp qua tất cả các phần tử trong ngữ cảnh đã chỉ định "cho x trong phạm vi [6]". Trong trường hợp này, đó là ánh xạ khóa-giá trị 'x. str[x]' ánh xạ một số nguyên 'x' thành biểu diễn chuỗi của nó 'str[x]'

đầu ra

Sau đây là đầu ra của đoạn mã trên -

The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}

Sử dụng hàm Lambda

Hàm lambda trong Python là một hàm ẩn danh. Nó bắt đầu bằng từ khóa lambda, theo sau là danh sách không hoặc nhiều đối số được phân tách bằng dấu phẩy, dấu hai chấm và biểu thức trả về. Với mục đích tạo và trả về một đối tượng từ điển mới, hãy sử dụng hàm dict[] hoặc dấu ngoặc nhọn {}

Ví dụ

Trong ví dụ sau, hàm lambda gán một đối tượng hàm được tạo động cho biến 'create_dictionary'. Sau đó, bạn có thể gọi hàm như đã thực hiện trong ví dụ trước

Không thể ngắn gọn hơn biểu thức trình tạo, tạo từ điển và trả về từ điển đồng thời trong một dòng mã

create_dictionary = lambda : {x:str[x] for x in range[6]} counts = create_dictionary[] print['The returned dictionary is:',counts]

đầu ra

Sau đây là đầu ra của đoạn mã trên -

The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}

Bằng cách trả lại từ điển bằng câu lệnh return

Để gửi lại kết quả của hàm cho người gọi, bạn có thể sử dụng câu lệnh trả về Python bên trong một hàm hoặc phương thức. Từ khóa return được theo sau bởi một giá trị trả về tùy chọn trong câu lệnh return. Bất kỳ đối tượng Python nào cũng có thể là giá trị trả về của hàm Python

Ví dụ

Trong ví dụ sau, chúng tôi đã tạo một hàm 'create_dictionary' được sử dụng để tạo từ điển bằng cách gán giá trị cho các khóa. Khi từ điển được tạo, chúng tôi đã trả lại nó bằng câu lệnh return

Bạn cần tạo một hàm trả về từ điển nhưng không biết cách làm? . Đi. ?

Hàm Python có thể trả về bất kỳ đối tượng nào, chẳng hạn như từ điển. Để trả về một từ điển, trước tiên hãy tạo đối tượng dict trong thân hàm, gán nó cho một biến

The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
1 và trả lại cho người gọi hàm bằng cách sử dụng thao tác từ khóa “
The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
2“

Phương thức cơ bản để tạo và trả về Dict từ hàm

Ví dụ: đoạn mã sau tạo một hàm

The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
3 thêm tất cả các số 0, 1, 2, …, 9 làm khóa từ điển cho
The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
1 và các biểu diễn chuỗi tương ứng làm giá trị từ điển và trả về dict cho người gọi hàm

def create_dict[]:
    ''' Function to return dict '''
    your_dict = {}
    for i in range[10]:
        your_dict[i] = str[i]
    return your_dict

numbers = create_dict[]
print[numbers]
# {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5',
#  6: '6', 7: '7', 8: '8', 9: '9'}

Chú ý. Phạm vi biến đổi

Lưu ý rằng bạn lưu trữ từ điển kết quả trong biến

The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
5. Biến cục bộ
The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
1 mà bạn đã tạo trong thân hàm chỉ hiển thị bên trong hàm chứ không hiển thị bên ngoài hàm. Vì vậy, nếu bạn cố gắng truy cập tên
The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
1, Python sẽ tăng một số
>>> print[your_dict]
Traceback [most recent call last]:
  File "C:UsersxcentDesktopcode.py", line 9, in 
    print[your_set]
NameError: name 'your_dict' is not defined
2

>>> print[your_dict]
Traceback [most recent call last]:
  File "C:UsersxcentDesktopcode.py", line 9, in 
    print[your_set]
NameError: name 'your_dict' is not defined

Để khắc phục điều này, chỉ cần gán giá trị trả về của hàm — một từ điển — cho một biến mới và truy cập nội dung của biến mới này

>>> numbers = create_dict[]
>>> print[numbers]
{0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9'}

Trả lại Dict từ chức năng bằng cách hiểu từ điển

Có nhiều cách khác để trả về một từ điển từ một hàm trong Python. Ví dụ: thay vào đó, bạn có thể sử dụng một câu lệnh hiểu từ điển ngắn gọn hơn nhiều so với mã trước đó—nhưng tạo ra cùng một từ điển ánh xạ số

def create_dict[]:
    ''' Function to return dict '''
    return {i:str[i] for i in range[10]}

numbers = create_dict[]
print[numbers]
# {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9'}

Với khả năng hiểu từ điển, bạn có thể tự động tạo từ điển bằng cách sử dụng cú pháp

>>> print[your_dict]
Traceback [most recent call last]:
  File "C:UsersxcentDesktopcode.py", line 9, in 
    print[your_set]
NameError: name 'your_dict' is not defined
3. Bạn lặp lại tất cả các phần tử trong một ngữ cảnh nhất định “
>>> print[your_dict]
Traceback [most recent call last]:
  File "C:UsersxcentDesktopcode.py", line 9, in 
    print[your_set]
NameError: name 'your_dict' is not defined
4“, và áp dụng một biểu thức nhất định để có được ánh xạ
>>> print[your_dict]
Traceback [most recent call last]:
  File "C:UsersxcentDesktopcode.py", line 9, in 
    print[your_set]
NameError: name 'your_dict' is not defined
5 được lưu trữ cho biến vòng lặp
>>> print[your_dict]
Traceback [most recent call last]:
  File "C:UsersxcentDesktopcode.py", line 9, in 
    print[your_set]
NameError: name 'your_dict' is not defined
6. Trong trường hợp của chúng ta, đó là ánh xạ
>>> print[your_dict]
Traceback [most recent call last]:
  File "C:UsersxcentDesktopcode.py", line 9, in 
    print[your_set]
NameError: name 'your_dict' is not defined
5
>>> print[your_dict]
Traceback [most recent call last]:
  File "C:UsersxcentDesktopcode.py", line 9, in 
    print[your_set]
NameError: name 'your_dict' is not defined
8 ánh xạ một số nguyên
>>> print[your_dict]
Traceback [most recent call last]:
  File "C:UsersxcentDesktopcode.py", line 9, in 
    print[your_set]
NameError: name 'your_dict' is not defined
6 thành biểu diễn chuỗi của nó
>>> numbers = create_dict[]
>>> print[numbers]
{0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9'}
0

Trong trường hợp bạn cần tìm hiểu thêm về cách hiểu từ điển, vui lòng xem video giải thích này từ Finxter

Hiểu từ điển Python - Hướng dẫn một lớp mạnh mẽ


Xem video này trên YouTube

Bài viết liên quan. Giới thiệu đơn giản về hiểu từ điển trong Python

Trả về từ điển từ hàm bằng Lambda

Một cách thú vị để trả về lệnh từ hàm là sử dụng hàm lambda

Hàm lambda là một hàm ẩn danh trong Python. Nó bắt đầu bằng từ khóa

>>> numbers = create_dict[]
>>> print[numbers]
{0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9'}
1, theo sau là danh sách không hoặc nhiều đối số được phân tách bằng dấu phẩy, tiếp theo là dấu hai chấm và biểu thức trả về. Sử dụng hàm tạo ______62 hoặc dấu ngoặc nhọn
>>> numbers = create_dict[]
>>> print[numbers]
{0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9'}
3 để tạo và trả về một đối tượng dict mới

Đoạn mã sau sử dụng kết hợp các tính năng

  • Hàm lambda tự động tạo một đối tượng hàm và gán nó cho biến
    >>> numbers = create_dict[]
    >>> print[numbers]
    {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9'}
    4. Sau đó, bạn có thể gọi hàm như trước với
    The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
    
    3
  • Biểu thức trình tạo tạo một từ điển và trả về nó cùng một lúc trong một dòng mã—nó không thể ngắn gọn hơn thế
The returned dictionary is: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5'}
0

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án viết mã thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người hoàn toàn mới bắt đầu

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

lập trình viên

“Các lập trình viên thực sự đặt các hằng số chung ngay từ đầu sao cho vũ trụ phát triển để chứa đĩa có dữ liệu họ muốn. ” — xkcd

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Bạn có thể lưu trữ một hàm trong từ điển Python không?

Cho một từ điển, gán các phím của nó dưới dạng lệnh gọi hàm. Trường hợp 1. không có thông số. Cách được sử dụng để đạt được nhiệm vụ này là tên hàm được giữ làm giá trị từ điển và trong khi gọi bằng các phím, dấu ngoặc '[]' được thêm vào.

Tôi có thể lưu trữ một hàm trong từ điển không?

Gọi các đối tượng hàm trong từ điển . Điều này cho phép chúng tôi sử dụng từ điển để thực thi một trong các lựa chọn chức năng dựa trên một số phím—một cách phổ biến để mô phỏng chức năng chuyển đổi/trường hợp được tìm thấy trong các ngôn ngữ khác. Function objects can be stored in a dictionary as values. This lets us use dictionaries to execute one of a choice of functions based on some key—a common way to emulate the switch/case functionality found in other languages.

Python lưu trữ dữ liệu trong từ điển như thế nào?

Danh sách Python lưu trữ một tập hợp các đối tượng theo trình tự có thứ tự. Ngược lại, từ điển lưu trữ các đối tượng trong một bộ sưu tập không có thứ tự . Tuy nhiên, từ điển cho phép một chương trình truy cập bất kỳ thành viên nào của bộ sưu tập bằng cách sử dụng khóa - có thể là một chuỗi con người có thể đọc được.

Phương thức items[] trong một từ điển trả về cái gì?

Phương thức items[] trả về một đối tượng dạng xem . Đối tượng dạng xem chứa các cặp khóa-giá trị của từ điển, dưới dạng các bộ trong danh sách. Đối tượng xem sẽ phản ánh bất kỳ thay đổi nào được thực hiện đối với từ điển, xem ví dụ bên dưới.

Chủ Đề