Trong hướng dẫn này, chúng ta sẽ viết một chương trình nhóm tất cả các bộ giá trị từ một danh sách có cùng phần tử với phần tử thứ hai. Hãy xem một ví dụ để hiểu rõ điều đó.
Đầu vào
[('Python', 'tutorialspoints'), ('Management', 'other'), ('Django', 'tutorialspoints'), ('React', 'tutorialspoints'), ('Social', 'other'), ('Business', 'other')]
Đầu ra
{'tutorialspoint': [('Python', 'tutorialspoints'), ('Django', 'tutorialspoints'), ('React', 'tutorialspoints')], 'other’: [('Management', 'other'), ('Social', 'other'), ('Business', 'other')]}
Chúng tôi phải nhóm các bộ giá trị từ danh sách. Hãy xem các bước để giải quyết vấn đề.
- Bắt đầu một danh sách với các bộ giá trị bắt buộc.
- Tạo một từ điển trống.
- Lặp lại qua danh sách các bộ giá trị.
- Kiểm tra xem phần tử thứ hai của bộ tuple đã có trong từ điển hay chưa.
- Nếu nó đã có, thì hãy nối bộ hiện tại vào danh sách của nó.
- Khởi tạo khóa khác bằng một danh sách với bộ giá trị hiện tại.
- Cuối cùng, bạn sẽ nhận được một từ điển với các sửa đổi cần thiết.
Ví dụ
# initializing the list with tuples tuples = [('Python', 'tutorialspoints'), ('Management', 'other'), ('Django', 't ialspoints'), ('React', 'tutorialspoints'), ('Social', 'other'), ('Business', 'othe r')] # empty dict result = {} # iterating over the list of tuples for tup in tuples: # checking the tuple element in the dict if tup[1] in result: # add the current tuple to dict result[tup[1]].append(tup) else: # initiate the key with list result[tup[1]] = [tup] # priting the result print(result)
Đầu ra
Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả sau.
{'tutorialspoints': [('Python', 'tutorialspoints'), ('Django', 'tutorialspoints ('React', 'tutorialspoints')], 'other': [('Management', 'other'), ('Social', 'other '), ('Business', 'other')]}
Chúng tôi bỏ qua nếu điều kiện trong chương trình trên bằng cách sử dụng defaultdict . Hãy giải quyết nó bằng cách sử dụng defaultdict .
Ví dụ
# importing defaultdict from collections from collections import defaultdict # initializing the list with tuples tuples = [('Python', 'tutorialspoints'), ('Management', 'other'), ('Django', 't ialspoints'), ('React', 'tutorialspoints'), ('Social', 'other'), ('Business', 'othe r')] # empty dict with defaultdict result = defaultdict(list) # iterating over the list of tuples for tup in tuples: result[tup[1]].append(tup) # priting the result print(dict(result))
Đầu ra
Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả sau.
{'tutorialspoints': [('Python', 'tutorialspoints'), ('Django', 'tutorialspoints ('React', 'tutorialspoints')], 'other': [('Management', 'other'), ('Social', 'other '), ('Business', 'other')]}
Kết luận
Bạn có thể giải quyết nó theo nhiều cách khác nhau tùy thích. Chúng tôi đã thấy hai cách ở đây. Nếu bạn có bất kỳ nghi ngờ nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.