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.

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 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 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
  • Thực hành câu hỏi
  • Kết quả mong đợi
  • Giải pháp đề xuất

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 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 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

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 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

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 Python

Cá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á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

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ách

Chuyể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 DataFrame

Từ đ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).

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?

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ỏi

Bâ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:

  1. Nhắc người dùng nhập tên lớp hoặc -1 để thoát
  2. Nhắc người dùng nhập điểm lớp, được phân tách bằng dấu phẩy
  3. Lưu trữ tên lớp (dưới dạng chuỗi) và nhãn hiệu (như một danh sách các số nguyên) được người dùng nhập vào từ điển danh sách Python, trong đó khóa là tên lớp và giá trị là điểm.

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ất

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)
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]
1
0, 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]
1
2.

Tiếp theo, chúng tôi chuyển danh sách này và hàm

[1, 2, 3]
1
3 cho một hàm khác gọi là
[1, 2, 3]
1
4.

Hàm

[1, 2, 3]
1
4 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]
1
4 để áp dụng hàm
[1, 2, 3]
1
3 cho tất cả các yếu tố trong
[1, 2, 3]
1
8.

Giả sử

[1, 2, 3]
1
8 trả về danh sách
[1, 2, 3]
1
2. Hàm
[1, 2, 3]
1
4 sau đó áp dụng hàm
[1, 2, 3]
1
3 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.