Ngoài ra, danh sách sẽ cho phép bạn lưu dữ liệu theo một thứ tự cụ thể, trong khi từ điển không có thứ tự và không thể lưu nhiều giá trị trùng lặp. Chuyển đổi danh sách thành từ điển là hoạt động tiêu chuẩn của Python. Vì vậy, hãy xem làm thế nào để làm điều đó
Danh sách Python vào từ điển
Để chuyển đổi danh sách thành từ điển trong Python, hãy sử dụng tính năng hiểu danh sách và tạo cặp khóa-giá trị gồm các phần tử liên tiếp, sau đó nhập danh sách vào loại từ điển. Giá trị trả về được chuyển đổi từ danh sách sang kiểu dữ liệu từ điển
def listToDict[lst]: op = {lst[i]: lst[i + 1] for i in range[0, len[lst], 2]} return op lst = ['m', 1, 'b', 2, 'k', 3] print[listToDict[lst]]
đầu ra
➜ pyt python3 app.py {'m': 1, 'b': 2, 'k': 3} ➜ pyt
Trong ví dụ trên, chúng ta đã sử dụng vòng lặp for để tách các phần tử chẵn và lẻ, sau đó sử dụng hàm range[] để tạo các giá trị lẻ cho khóa và các giá trị cho từ điển. Chúng tôi đã sử dụng phương pháp hiểu từ điển
Vì vậy, chúng tôi nhận được từ điển được chuyển đổi từ danh sách trong đầu ra
Chuyển đổi danh sách thành từ điển có cùng giá trị
Để chuyển đổi danh sách thành từ điển có cùng giá trị, hãy sử dụng khả năng hiểu từ điển. Giá trị của mỗi khóa sẽ giống nhau.
# app.py def listToDict[lst]: op = { i : 5 for i in lst } return op lst = ['millie', 'caleb', 'finn', 'sadie', 'noah'] print[listToDict[lst]]
Xem đầu ra
➜ pyt python3 app.py {'millie': 5, 'caleb': 5, 'finn': 5, 'sadie': 5, 'noah': 5} ➜ pyt
Tất cả các phần tử danh sách đã trở thành khóa trong ví dụ trên và 5 là giá trị cho tất cả các phần tử
Danh sách Python để dict sử dụng dict. fromKeys[]
Từ điển. fromKeys[] là một phương thức Python tích hợp để tạo một từ điển mới từ một chuỗi các phần tử nhất định có giá trị do người dùng cung cấp. Phương thức fromKeys[] trả về từ điển với các khóa và giá trị được chỉ định.
Chúng tôi đang tạo từ điển từ danh sách, vì vậy Python Dict fromKeys[] có thể lấy các giá trị khóa từ Danh sách Python và chuyển đổi chúng thành các khóa từ điển. Chúng tôi chuyển tham số thứ hai là 5, một giá trị, vì vậy chúng tôi nhận được đầu ra giống như chương trình trên
# app.py def listToDict[lst]: op = dict.fromkeys[lst , 5] return op lst = ['millie', 'caleb', 'finn', 'sadie', 'noah'] print[listToDict[lst]]
đầu ra
➜ pyt python3 app.py {'millie': 5, 'caleb': 5, 'finn': 5, 'sadie': 5, 'noah': 5} ➜ pyt
mệnh lệnh. fromKeys[] chấp nhận một danh sách và giá trị mặc định. Nó trả về một từ điển với các mục trong danh sách dưới dạng khóa. Tất cả các mục từ điển sẽ có cùng một giá trị được chuyển vào fromkeys[]
Chuyển đổi các phần tử danh sách thành các giá trị trong từ điển với các khóa được lập chỉ mục trong Python
Trong ví dụ đầu tiên của bài viết này, chúng tôi đã sử dụng các mục danh sách làm khóa và giá trị làm số nguyên trong từ điển. Tuy nhiên, trong ví dụ này, chúng tôi tạo một từ điển với các khóa được lập chỉ mục và các giá trị là các mục trong danh sách python bằng cách sử dụng khả năng hiểu từ điển
Xem đoạn mã sau
# app.py def listToDict[lst]: op = { i : lst[i] for i in range[0, len[lst] ] } return op lst = ['millie', 'caleb', 'finn', 'sadie', 'noah'] print[listToDict[lst]]
đầu ra
➜ pyt python3 app.py {0: 'millie', 1: 'caleb', 2: 'finn', 3: 'sadie', 4: 'noah'} ➜ pyt
Chuyển đổi hai danh sách thành một từ điển
Để chuyển đổi hai danh sách thành một từ điển trong Python, hãy sử dụng hàm zip[], hàm này trả về danh sách các bộ dữ liệu và chuyển danh sách các bộ dữ liệu đó sang hàm dict[], hàm này trả về từ điển
Giả sử chúng ta có hai danh sách
________số 8_______Chúng tôi sẽ lấy danh sách đầu tiên làm khóa cho từ điển và danh sách thứ hai làm giá trị
Để đạt được điều đó và tạo một từ điển từ hai danh sách, chúng ta có thể sử dụng hàm zip[] của Python
Xem mã đầy đủ bên dưới
# app.py def listToDict[lstA, lstB]: zippedLst = zip[lstA, lstB] op = dict[zippedLst] return op lstStr = ['millie', 'caleb', 'finn', 'sadie', 'noah'] lstInt = [11, 21, 19, 29, 46] print[listToDict[lstStr, lstInt]]
Xem đầu ra
➜ pyt python3 app.py {'m': 1, 'b': 2, 'k': 3} ➜ pyt0
Hàm zip[] chấp nhận một số đối tượng có thể lặp lại và trả về danh sách các bộ dữ liệu
Mỗi mục trong bộ chứa một phần tử từ mỗi đối tượng có thể lặp lại
Chúng ta đã chuyển hai đối tượng danh sách trong hàm zip[], vì vậy nó sẽ trả về một danh sách các bộ, trong đó mỗi bộ chứa một mục nhập từ cả hai danh sách. Sau đó, chúng tôi đã tạo một đối tượng từ điển từ danh sách các bộ dữ liệu này
Nếu độ dài của danh sách khóa nhỏ hơn danh sách giá trị thì các phần tử còn lại trong danh sách giá trị sẽ bị bỏ qua
Chuyển đổi danh sách các bộ dữ liệu thành từ điển trong Python
Để chuyển đổi danh sách các bộ dữ liệu sang từ điển trong Python, hãy sử dụng phương thức dict[] và chuyển danh sách bộ dữ liệu sang phương thức dict[], phương thức này trả về từ điển
➜ pyt python3 app.py {'m': 1, 'b': 2, 'k': 3} ➜ pyt1
đầu ra
➜ pyt python3 app.py {'m': 1, 'b': 2, 'k': 3} ➜ pyt0
Chúng ta có thể chuyển trực tiếp danh sách các bộ dữ liệu này tới hàm tạo từ điển
Các mục trong cột đầu tiên sẽ trở thành khóa và các mục trong cột thứ hai sẽ là các giá trị trong từ điển mới