Computer >> Máy Tính >  >> Lập trình >> Python

Chuyển đổi từ điển sang danh sách các bộ dữ liệu bằng Python

Chuyển đổi từ loại tập hợp này sang loại tập hợp khác rất phổ biến trong python. Tùy thuộc vào nhu cầu xử lý dữ liệu, chúng tôi có thể phải chuyển đổi các cặp giá trị khóa có trong từ điển thành các cặp đại diện cho các bộ giá trị trong một danh sách. Trong bài viết này, chúng ta sẽ xem các cách tiếp cận để đạt được điều này.

Với trong

Đây là một cách tiếp cận đơn giản mà chúng tôi chỉ xem xét

Ví dụ

Adict = {30:'Mon',11:'Tue',19:'Fri'}

# Given dictionary
print("The given dictionary: ",Adict)

# Using in
Alist = [(key, val) for key, val in Adict.items()]

# Result
print("The list of tuples: ",Alist)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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

Với zip

Hàm zip kết hợp các mục được truyền vào nó dưới dạng tham số. Vì vậy, chúng tôi lấy các khóa và giá trị của từ điển làm tham số cho hàm zip và đặt kết quả dưới một hàm danh sách. Cặp giá trị khóa trở thành các bộ giá trị của danh sách.

Ví dụ

Adict = {30:'Mon',11:'Tue',19:'Fri'}

# Given dictionary
print("The given dictionary: ",Adict)

# Using zip
Alist = list(zip(Adict.keys(), Adict.values()))

# Result
print("The list of tuples: ",Alist)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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

Với phần phụ

Trong cách tiếp cận này, chúng tôi lấy một danh sách trống và nối cặp giá trị khóa evry dưới dạng các bộ giá trị. Vòng lặp for được thiết kế để chuyển đổi cặp giá trị khóa thành các bộ giá trị.

Ví dụ

Adict = {30:'Mon',11:'Tue',19:'Fri'}

# Given dictionary
print("The given dictionary: ",Adict)

Alist = []

# Uisng append
for x in Adict:
k = (x, Adict[x])
Alist.append(k)

# Result
print("The list of tuples: ",Alist)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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