Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chuyển đổi từ điển thành danh sách tuple trong Python

Chuyển đổi giữa các kiểu collection rất phổ biến trong Python. Cần chuyển cặp khóa-giá trị trong dict thành tuple trong list. Bài viết trình bày các cách làm.

Sử dụng items()

Cách trực tiếp: dùng items() lấy cặp khóa-giá trị, tạo tuple trong list comprehension.

Ví dụ

Adict = {30: 'Mon', 11: 'Tue', 19: 'Fri'}  # Từ điển cho trước
print("The given dictionary: ", Adict)
# Sử dụng items()
Alist = [(key, val) for key, val in Adict.items()]  # Kết quả
print("The list of tuples: ", Alist)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

The given dictionary: {30: 'Mon', 11: 'Tue', 19: 'Fri'} The list of tuples: [(30, 'Mon'), (11, 'Tue'), (19, 'Fri')]

Sử dụng zip

zip() kết hợp các item truyền vào. Lấy keys() và values() của dict làm tham số cho zip(), gói kết quả bằng list(). Khóa-giá trị thành tuple của list.

Ví dụ

Adict = {30: 'Mon', 11: 'Tue', 19: 'Fri'}  # Từ điển cho trước
print("The given dictionary: ", Adict)
# Sử dụng zip
Alist = list(zip(Adict.keys(), Adict.values()))  # Kết quả
print("The list of tuples: ", Alist)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

The given dictionary: {30: 'Mon', 11: 'Tue', 19: 'Fri'} The list of tuples: [(30, 'Mon'), (11, 'Tue'), (19, 'Fri')]

Sử dụng append

Tạo list rỗng, append từng cặp khóa-giá trị như tuple. Vòng lặp for chuyển cặp khóa-giá trị thành tuple.

Ví dụ

Adict = {30: 'Mon', 11: 'Tue', 19: 'Fri'}  # Từ điển cho trước
print("The given dictionary: ", Adict)
Alist = []
# Sử dụng append
for x in Adict:
    k = (x, Adict[x])
    Alist.append(k)  # Kết quả
print("The list of tuples: ", Alist)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

The given dictionary: {30: 'Mon', 11: 'Tue', 19: 'Fri'} The list of tuples: [(30, 'Mon'), (11, 'Tue'), (19, 'Fri')]