Hướng dẫn can a list be a value in a dictionary python? - một danh sách có thể là một giá trị trong python từ điển không?
Một từ điển Python của danh sách đề cập đến một từ điển bao gồm các danh sách là giá trị.lists as values. Show
Ví dụ, nếu dict1 = {'A': [1, 2, 3], 'B':[2, 5]} dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)6 là một từ điển danh sách, với khóa sau: Các cặp giá trị: dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)7 dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)8 dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)8 Các giá trị của từ điển là danh sách - dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)9 và {'A': [11, '2', 53], 'B': [4, 50]} {'X': [5, 7, 9], 'Y': [41, 15]} {1: [6, 5, 8], 4: [9, 1, 2]}0 - trong khi các khóa là chuỗi ( {'A': [11, '2', 53], 'B': [4, 50]} {'X': [5, 7, 9], 'Y': [41, 15]} {1: [6, 5, 8], 4: [9, 1, 2]}1 và {'A': [11, '2', 53], 'B': [4, 50]} {'X': [5, 7, 9], 'Y': [41, 15]} {1: [6, 5, 8], 4: [9, 1, 2]}2). Trong bài hôm nay, chúng tôi sẽ học cách tạo và sửa đổi từ điển danh sách. Chúng tôi cũng sẽ nói về mối quan hệ giữa một từ điển danh sách và DataFrame. Cuối cùng nhưng không kém phần quan trọng, chúng tôi sẽ làm việc trên một câu hỏi thực hành lưu trữ đầu vào của người dùng dưới dạng từ điển danh sách Python. Mục lục
Cách tạo từ điển Python với danh sách là giá trịPhương pháp 1: Tạo và khởi tạo từ điển bằng cách sử dụng {} hoặc dict ()
Phương pháp 1: Tạo và khởi tạo từ điển bằng cách sử dụng {} hoặc dict ()Phương pháp 2: Tạo một từ điển trống và thêm khóa: các cặp giá trị vào nó dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3) Phương pháp 3: Sử dụng hàm Zip () tích hợp trong Python Cách truy cập các mục trong Từ điển Python của Danh sách {'A': [11, '2', 53], 'B': [4, 50]} {'X': [5, 7, 9], 'Y': [41, 15]} {1: [6, 5, 8], 4: [9, 1, 2]}9 Cách sửa đổi các mục trong Từ điển Python của Danh sách Chuyển đổi từ điển Python của danh sách thành DataFrame dict1 = {} dict2 = dict() dict1['A'] = [1, 2, 3] dict1['B'] = [10, 12] dict2[5] = [78, 9, 2] dict2[4] = [1, 7] print(dict1) print(dict2)3 Thực hành câu hỏi Kết quả mong đợi dict1 = {} dict2 = dict() dict1['A'] = [1, 2, 3] dict1['B'] = [10, 12] dict2[5] = [78, 9, 2] dict2[4] = [1, 7] print(dict1) print(dict2)7 Giải pháp đề xuất {'A': [11, '2', 53], 'B': [4, 50]} {'X': [5, 7, 9], 'Y': [41, 15]} {1: [6, 5, 8], 4: [9, 1, 2]} Phương pháp 2: Tạo một từ điển trống và thêm khóa: các cặp giá trị vào nóPhương pháp 3: Sử dụng hàm Zip () tích hợp trong Python Cách sửa đổi các mục trong Từ điển Python của Danh sách Chuyển đổi từ điển Python của danh sách thành DataFrame Thực hành câu hỏi {'A': [1, 2, 3], 'B': [10, 12]} {5: [78, 9, 2], 4: [1, 7]}2 Kết quả mong đợi Giải pháp đề xuất {'A': [1, 2, 3], 'B': [10, 12]} {5: [78, 9, 2], 4: [1, 7]}5 Đầu tiên, hãy để thảo luận về ba cách khác nhau để tạo ra một từ điển danh sách Python. {'A': [1, 2, 3], 'B': [10, 12]} {5: [78, 9, 2], 4: [1, 7]} Phương pháp 3: Sử dụng hàm Zip () tích hợp trong PythonCách truy cập các mục trong Từ điển Python của Danh sách Cách sửa đổi các mục trong Từ điển Python của Danh sách Chuyển đổi từ điển Python của danh sách thành DataFrame keysList = ['A', 'B', 'C'] valuesList = [[7, 1, 5], [17, 9, 18], [11, 1]] dict1 = dict(zip(keysList, valuesList)) print(dict1) Thực hành câu hỏi Kết quả mong đợi Giải pháp đề xuất Đầu tiên, hãy để thảo luận về ba cách khác nhau để tạo ra một từ điển danh sách Python. Đầu tiên, hãy để thảo luận về ba cách khác nhau để tạo ra một từ điển danh sách Python. Phương pháp 1: Tạo và khởi tạo từ điển bằng cách sử dụng{'A': [11, '2', 53], 'B': [4, 50]} {'X': [5, 7, 9], 'Y': [41, 15]} {1: [6, 5, 8], 4: [9, 1, 2]}3 hoặc {'A': [11, '2', 53], 'B': [4, 50]} {'X': [5, 7, 9], 'Y': [41, 15]} {1: [6, 5, 8], 4: [9, 1, 2]}4 Phương pháp 3: Sử dụng chức năng {'A': [11, '2', 53], 'B': [4, 50]} {'X': [5, 7, 9], 'Y': [41, 15]} {1: [6, 5, 8], 4: [9, 1, 2]}5 tích hợp trong Python Cách truy cập các mục trong Từ điển Python của Danh sáchCách sửa đổi các mục trong Từ điển Python của Danh sách Chuyển đổi từ điển Python của danh sách thành DataFrame Thực hành câu hỏi Kết quả mong đợi dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0]) Giải pháp đề xuất Đầu tiên, hãy để thảo luận về ba cách khác nhau để tạo ra một từ điển danh sách Python. [1, 2, 3] 1 Cách sửa đổi các mục trong Từ điển Python của Danh sáchChuyển đổi từ điển Python của danh sách thành DataFrame dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} dict1['X'] = [7, 8, 9, 10] print(dict1) Đầu tiên, hãy để thảo luận về ba cách khác nhau để tạo ra một từ điển danh sách Python. dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)0 Phương pháp 1: Tạo và khởi tạo từ điển bằng cách sử dụng {'A': [11, '2', 53], 'B': [4, 50]} {'X': [5, 7, 9], 'Y': [41, 15]} {1: [6, 5, 8], 4: [9, 1, 2]}3 hoặc {'A': [11, '2', 53], 'B': [4, 50]} {'X': [5, 7, 9], 'Y': [41, 15]} {1: [6, 5, 8], 4: [9, 1, 2]}4 dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)1 Mã trên nối 12 đến keysList = ['A', 'B', 'C'] valuesList = [[7, 1, 5], [17, 9, 18], [11, 1]] dict1 = dict(zip(keysList, valuesList)) print(dict1)9. Nếu bạn chạy mã ở trên, bạn sẽ nhận được đầu ra sau: dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)2 Chuyển đổi từ điển Python của danh sách thành DataFrameTừ điển Python của danh sách rất hữu ích trong khoa học dữ liệu. Một thư viện phổ biến được sử dụng để phân tích dữ liệu là thư viện Pandas, sử dụng kiểu dữ liệu đặc biệt được gọi là gấu trúc DataFrame. Một dataFrame có thể được tạo từ từ điển python của các danh sách, trong đó các khóa trong từ điển đóng vai trò là tiêu đề cột và các giá trị (nghĩa là danh sách) là các giá trị cột. Chẳng hạn, ảnh chụp màn hình bên dưới cho thấy cách một từ điển danh sách Python ( dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)6) có thể được chuyển đổi thành một khung dữ liệu gấu trúc (sử dụng phương thức {'A': [7, 1, 5], 'B': [17, 9, 18], 'C': [11, 1]}3). Như bạn có thể thấy, mỗi khóa trong từ điển (nghĩa là {'A': [7, 1, 5], 'B': [17, 9, 18], 'C': [11, 1]}4, {'A': [7, 1, 5], 'B': [17, 9, 18], 'C': [11, 1]}5 và {'A': [7, 1, 5], 'B': [17, 9, 18], 'C': [11, 1]}6) tương ứng với một tiêu đề cột trong DataFrame, trong khi danh sách trở thành giá trị cột. Nếu bạn quan tâm đến những gì một gấu trúc DataFrame được sử dụng cho, bạn có thể tham khảo bài đăng này để biết thêm thông tin về việc sử dụng DataFrames trong Python. Thực hành câu hỏiBây giờ chúng ta đã quen thuộc với từ điển Python của các danh sách, hãy để Lừa chuyển sang câu hỏi thực hành cho ngày hôm nay. Đối với câu hỏi thực hành ngày hôm nay, bạn cần viết một hàm gọi là {'A': [7, 1, 5], 'B': [17, 9, 18], 'C': [11, 1]}7. Bên trong chức năng, bạn nên thực hiện các tác vụ sau nhiều lần cho đến khi người dùng nhập {'A': [7, 1, 5], 'B': [17, 9, 18], 'C': [11, 1]}8 để thoát:
Miễn là người dùng không nhập {'A': [7, 1, 5], 'B': [17, 9, 18], 'C': [11, 1]}8, hãy lặp lại nhiệm vụ 1 đến 3 ở trên. Nếu người dùng nhập {'A': [7, 1, 5], 'B': [17, 9, 18], 'C': [11, 1]}8, hãy trả lại từ điển danh sách. Bạn có thể cho rằng người dùng luôn nhập số nguyên khi được nhắc nhập điểm lớp. Kết quả mong đợiỞ đây, một ví dụ cho thấy những gì chức năng nên làm. Nếu bạn chạy mã bên dưới dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)3 Chức năng nên hoạt động như sau: dict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)4 Giải pháp đề xuấtdict1 = {'A':[11, '2', 53], 'B':[4, 50]} dict2 = dict(X=[5, 7, 9], Y = [41, 15]) dict3 = dict([(1, [6, 5, 8]), (4, [9, 1, 2])]) print(dict1) print(dict2) print(dict3)5 Trong giải pháp được đề xuất ở trên, trước tiên chúng tôi xác định một hàm gọi là {'A': [7, 1, 5], 'B': [17, 9, 18], 'C': [11, 1]}7 trên dòng 1. Bên trong hàm, chúng tôi khai báo một từ điển trống gọi là dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])2. Tiếp theo, chúng tôi sử dụng vòng lặp dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])3 để liên tục nhắc người dùng về đầu vào. Trên dòng 7, chúng tôi nhắc người dùng nhập tên lớp hoặc -1 để thoát. Nếu người dùng nhập -1, chúng tôi sử dụng câu lệnh dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])4 trên dòng 10 để thoát vòng lặp dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])5. Khác, chúng tôi tiến hành dòng 12 nơi chúng tôi nhắc người dùng nhập điểm lớp và gán đầu vào (là chuỗi) cho một biến gọi là dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])6. Tiếp theo, trên dòng 14, chúng tôi làm một số điều. Đầu tiên, chúng tôi sử dụng dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])6 để gọi phương thức dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])8 cho các chuỗi. Phương thức này chia một chuỗi vào một danh sách, sử dụng đối số làm dấu phân cách. Trong mã của chúng tôi ở trên, chúng tôi vượt qua dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])9 dưới dạng dấu phân cách. Giả sử [1, 2, 3] 10, phương thức dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])8 chia chuỗi vào danh sách [1, 2, 3] 12. Tiếp theo, chúng tôi chuyển danh sách này và hàm [1, 2, 3] 13 cho một hàm khác gọi là [1, 2, 3] 14. Hàm [1, 2, 3] 14 là một hàm tích hợp trong Python áp dụng chức năng cho tất cả các yếu tố của một điều khác (như một danh sách). Trong giải pháp được đề xuất của chúng tôi ở trên, chúng tôi sử dụng hàm [1, 2, 3] 14 để áp dụng hàm [1, 2, 3] 13 cho tất cả các yếu tố trong [1, 2, 3] 18. Giả sử [1, 2, 3] 18 trả về danh sách [1, 2, 3] 12. Hàm [1, 2, 3] 14 sau đó áp dụng hàm [1, 2, 3] 13 cho tất cả các yếu tố trong danh sách này để chuyển đổi chúng thành số nguyên. Điều này cung cấp cho chúng tôi một đối tượng MAP có thể được chuyển đổi thành danh sách bằng hàm dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} dict1['X'] = [7, 8, 9, 10] print(dict1)3. Sau khi chuyển đổi, chúng tôi nhận được danh sách dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} dict1['X'] = [7, 8, 9, 10] print(dict1)4, mà chúng tôi & nbsp; gán cho dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} dict1['X'] = [7, 8, 9, 10] print(dict1)5. Điều này thêm một khóa: cặp giá trị vào từ điển dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])2. Cuối cùng, bên ngoài vòng dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])5, chúng tôi trả về giá trị của dict1 = {'X':[1, 2, 3], 'Y':[4, 5, 6]} print(dict1['X']) print(dict1['X'][0])2 trên dòng 16. Với điều đó, chức năng đã hoàn thành. Danh sách có thể là chìa khóa trong python từ điển không?Thứ hai, một khóa từ điển phải thuộc loại bất biến.Ví dụ: bạn có thể sử dụng số nguyên, phao, chuỗi hoặc boolean làm khóa từ điển.Tuy nhiên, cả danh sách và từ điển khác đều không thể đóng vai trò là khóa từ điển, bởi vì danh sách và từ điển đều có thể thay đổi.neither a list nor another dictionary can serve as a dictionary key, because lists and dictionaries are mutable.
Một đối tượng có thể là một giá trị trong một python từ điển?Takeaway: Một khóa từ điển phải là một đối tượng bất biến.Một giá trị từ điển có thể là bất kỳ đối tượng.A dictionary value can be any object. |