Tôi có từ điển trông giống như Show
Tôi đang cố gắng áp dụng một hàm để làm tròn tất cả các giá trị. Tôi không muốn tạo lại từ điển.
Có bất kỳ đường Pythonic nào để áp dụng hàm 3 trên tất cả các giá trị?Hỏi ngày 17 tháng 12 năm 2014 lúc 3:49Dec 17, 2014 at 3:49
user3378649user3378649user3378649 4,84413 Huy hiệu vàng 50 Huy hiệu bạc75 Huy hiệu Đồng13 gold badges50 silver badges75 bronze badges 2 Đây là một chút phức tạp hơn, nhưng bạn đã yêu cầu một 'con đường pythonic';)
Tuy nhiên, sự hiểu biết từ điển này sẽ chỉ hoạt động trên 2.7+. Nếu sử dụng phiên bản Python cũ hơn, hãy thử cách này phức tạp hơn:
Hãy để tôi giải nén điều này một chút:
Đã trả lời ngày 17 tháng 12 năm 2014 lúc 4:24Dec 17, 2014 at 4:24
4 Bạn có thể thử một cái gì đó như thế này:
Nó sẽ làm một vòng tròn của tất cả các mục trong từ điển. Trong ví dụ cụ thể này, nó sẽ hoạt động hoàn hảo, tuy nhiên hãy cẩn thận - tất cả các cảnh báo thông thường về việc sử dụng chức năng tròn áp dụng. Đã trả lời ngày 17 tháng 12 năm 2014 lúc 3:59Dec 17, 2014 at 3:59
Vikram Saranvikram SaranVikram Saran 1.1138 Huy hiệu bạc17 Huy hiệu đồng8 silver badges17 bronze badges 7 Bài viết này cho bạn thấy cách áp dụng một hàm đã cho cho từng yếu tố của từ điển Python. Cách pythonic nhất để áp dụng một hàm cho từng yếu tố của Python 0 là kết hợp tính năng hiểu từ điển và phương pháp 1 như vậy:
Lưu ý: Tất cả các giải pháp được cung cấp dưới đây đã được xác minh trong Python 3.9.5.: All the solutions provided below have been verified in Python 3.9.5. Xây dựng vấn đềHãy tưởng tượng từ điển sau đây của các giá trị tuổi: my_dict = {'alice': 18, 'bob': 20, 'carl': 25} Làm thế nào để áp dụng một hàm f (x) = x + 1 để tăng mỗi giá trị bằng một giá trị trong ví dụ của chúng tôi tăng độ tuổi khi một năm trôi qua?f(x) = x + 1 to increment each value by one—in our example increment the age as a year goes by? {'alice': 19, 'bob': 21, 'carl': 26} Tôi sẽ bắt đầu với cách tiếp cận ngây thơ của người Viking trước tiên và cho bạn thấy các giải pháp pythonic hơn sau đó. Vậy hãy bắt đầu! Phương pháp 1: Đơn giản cho vòng lặpVấn đề trên, giống như nhiều người khác, có một giải pháp khá đơn giản trong Python. Một giải pháp đơn giản sử dụng vòng lặp vanilla Python để lặp lại trên mỗi ________ 22: ________ 23 cặp từ điển gốc. Trong phần thân vòng, sau đó bạn áp dụng hàm cho từng giá trị và gán kết quả trở lại khóa. Giả sử chúng ta có chức năng sau mà chúng ta muốn áp dụng cho từng phần tử trong từ điển: ________số 8Tại đây, cách bạn có thể áp dụng chức năng này cho từng giá trị từ điển theo một vòng lặp đơn giản: my_dict = {'alice': 18, 'bob': 20, 'carl': 25} for k,v in my_dict.items(): my_dict[k] = f(v) print(my_dict) # {'alice': 19, 'bob': 21, 'carl': 26} Tuy nhiên, đây không phải là cách pythonic nhất để tiếp cận vấn đề này. Phương pháp 2: Hiểu từ điểnCách pythonic nhất để áp dụng hàm 4 cho mỗi giá trị của từ điển là sử dụng độ hiểu từ điển và 1 để lặp lại trên mỗi cặp 6 của một từ điển nhất định.
Hãy nói rằng chúng tôi sử dụng hàm 4 được xác định trong phần trước. Tại đây, cách áp dụng chức năng 4 cho từng giá trị của từ điển 9: 1Hiểu từ điển là một cách ngắn gọn và tiết kiệm bộ nhớ để tạo và khởi tạo từ điển trong một dòng mã Python. Nó bao gồm hai phần: biểu thức và bối cảnh.expression and context.
Để tìm hiểu thêm về tính năng tuyệt vời của sự hiểu biết từ điển, vui lòng xem video giải thích sau: Từ điển Python Hiểu - Hướng dẫn một lớp học mạnh mẽ Và để tìm hiểu thêm về phương pháp 1, vui lòng xem video hướng dẫn sau:Phương thức Python dict.items () Hiệu suất Lưu ý: So với đơn giản cho vòng lặp, cách tiếp cận này thực sự tạo ra một đối tượng từ điển mới ít hiệu quả bộ nhớ. Đối với các từ điển lớn, tôi đã khuyên bạn nên sử dụng đơn giản cho vòng lặp và cập nhật các giá trị từ điển từng cái một.Performance Note: Compared to the simple for loop, this approach actually creates a new dictionary object which is less memory efficient. For large dictionaries, I’d recommend you use the simple for loop and update the dictionary values one by one. Phương pháp 3: Hàm bản đồ ()Để hiểu được, tôi đã muốn đề xuất một giải pháp thay thế để giải quyết vấn đề này, tuy nhiên, don lồng sử dụng nó! Phương pháp trước đây là Pythonic hơn nhiều và dễ đọc hơn! Mọi thứ đều giống như trước ngoại trừ dòng được tô sáng:
2Hãy cùng đi sâu vào tất cả các khái niệm được sử dụng trong giải pháp một lớp lót:
Do nhiều khái niệm được bao gồm trong một lớp lót này, tôi nghĩ rằng lợi ích giáo dục của việc nghiên cứu một lớp học quá mức cho sự nhầm lẫn nhẹ mà bạn có thể trải nghiệm khi đọc nó lần đầu tiên. 😉 Nếu bạn thích các lớp lót được trình bày trong bài viết này, bạn sẽ yêu thích cuốn sách của tôi về Python One-Liners: Cuốn sách Python One-Liners: Master The Single Line đầu tiên!Các lập trình viên Python sẽ cải thiện các kỹ năng khoa học máy tính của họ với các lớp lót hữu ích này. Python One-Linerswill dạy bạn cách đọc và viết một bộ bài viết: Các câu nói ngắn gọn về chức năng hữu ích được đóng gói thành một dòng mã. Bạn sẽ học cách giải nén một cách có hệ thống và hiểu bất kỳ dòng mã Python nào và viết python được nén mạnh mẽ, mạnh mẽ như một chuyên gia.concise statements of useful functionality packed into a single line of code. You’ll learn how to systematically unpack and understand any line of Python code, and write eloquent, powerfully compressed Python like an expert. Cuốn sách năm chương bao gồm (1) mẹo và thủ thuật, (2) biểu thức thông thường, (3) học máy, (4) chủ đề khoa học dữ liệu cốt lõi và (5) thuật toán hữu ích. Giải thích chi tiết về một lớp lót giới thiệu các khái niệm khoa học máy tính quan trọng và tăng cường kỹ năng mã hóa và phân tích của bạn. Bạn có thể tìm hiểu về các tính năng Python nâng cao như hiểu danh sách, cắt lát, chức năng Lambda, biểu thức thông thường, bản đồ và giảm các chức năng và bài tập cắt lát.key computer science concepts and boost your coding and analytical skills. You’ll learn about advanced Python features such as list comprehension, slicing, lambda functions, regular expressions, map and reduce functions, and slice assignments. Bạn cũng sẽ học cách:
Đến cuối cuốn sách, bạn sẽ biết cách viết Python ở tinh tế nhất và tạo ra những tác phẩm nghệ thuật Python Python ngắn gọn, đẹp đẽ chỉ trong một dòng.write Python at its most refined, and create concise, beautiful pieces of “Python art” in merely a single line. Nhận Python Oneer của bạn trên Amazon !! Trong khi làm việc như một nhà nghiên cứu trong các hệ thống phân tán, Tiến sĩ Christian Mayer đã tìm thấy tình yêu của mình đối với việc dạy các sinh viên khoa học máy tính. Để giúp học sinh đạt được thành công cao hơn của Python, ông đã thành lập trang web giáo dục chương trình Finxter.com. Ông là tác giả của cuốn sách lập trình phổ biến Python Oneer (Nostarch 2020), đồng tác giả của loạt sách Break Break Python, những cuốn sách tự xuất bản, người đam mê khoa học máy tính, freelancer và chủ sở hữu của một trong 10 blog Python lớn nhất trên toàn thế giới. Niềm đam mê của ông là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ tăng cường các kỹ năng của họ. Bạn có thể tham gia học viện email miễn phí của anh ấy ở đây. Làm thế nào để bạn áp dụng một hàm cho tất cả các giá trị trong từ điển?Sử dụng khả năng hiểu từ điển để ánh xạ một hàm trên tất cả các giá trị trong từ điển. Sử dụng cú pháp {key: f (giá trị) cho khóa, giá trị trong dict.items ()} để áp dụng hàm f cho mỗi giá trị trong Dictionary Dict.Use the syntax {key: f(value) for key, value in dict. items()} to apply the function f to each value in the dictionary dict .
Bạn có thể đặt các chức năng trong một python từ điển không?Kỹ thuật này là khi bạn có một từ điển Python và một chức năng mà bạn dự định sử dụng trên nó.Bạn chèn một phần tử bổ sung vào dict, có giá trị là tên của hàm.Khi bạn đã sẵn sàng gọi chức năng, bạn sẽ đưa ra cuộc gọi một cách gián tiếp bằng cách tham khảo phần tử Dict, chứ không phải chức năng theo tên.You insert an extra element into the dict, whose value is the name of the function. When you're ready to call the function you issue the call indirectly by referring to the dict element, not the function by name.
Việc sử dụng tất cả () trong từ điển là gì?Lưu ý: Khi được sử dụng trên từ điển, hàm tất cả () kiểm tra xem tất cả các khóa là đúng chứ không phải các giá trị.checks if all the keys are true, not the values.
Việc sử dụng tất cả () trong từ điển trong Python là gì?Hàm python all () trả về đúng nếu tất cả các yếu tố của một số không thể sử dụng được (danh sách, từ điển, tuple, set, v.v.) là đúng nếu không nó trả về sai.Nó cũng trả về đúng nếu đối tượng có thể trống.returns true if all the elements of a given iterable (List, Dictionary, Tuple, set, etc.) are True otherwise it returns False. It also returns True if the iterable object is empty. |