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

Các bộ giá trị Nhóm Python trong danh sách có cùng giá trị đầu tiên

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ị với cùng một phần tử đầu tiên. Hãy xem một ví dụ để hiểu rõ điều đó.

Đầu vào

[(1, 2, 3), (1, 4, 5), (3, 4, 1), (3, 4, 2)]

Đầu ra

[(1, 2, 3, 4, 5), (3, 4, 1, 4, 2)]

Hãy xem các bước để giải quyết vấn đề.

  • Khởi tạo danh sách.
  • Khởi tạo một từ điển trống.
  • Lặp lại danh sách các bộ giá trị.
  • Kiểm tra xem phần tử đầu tiên của bộ tuple có xuất hiện dưới dạng một khóa trong từ điển hay không.
  • Nếu nó hiện diện, thì hãy nối các giá trị hiện tại mà không có giá trị đầu tiên với các giá trị trước đó.
  • Nếu không có, hãy khởi tạo khóa với các phần tử tuple hiện tại bao gồm phần tử đầu tiên.
  • In các giá trị của dict dưới dạng danh sách.

Ví dụ

# initializing the list
tuples = [(1, 2, 3), (1, 4, 5), (3, 4, 1), (3, 4, 2)]
# empty dict
result = {}
# iterating over the tuples
for sub_tuple in tuples:
   # checking the first element of the tuple in the result
   if sub_tuple[0] in result:
      # adding the current tuple values without first one
      result[sub_tuple[0]] = (*result[sub_tuple[0]], *sub_tuple[1:])
   else:
      # adding the tuple
      result[sub_tuple[0]] = sub_tuple
# printing the result in list
print(list(result.values()))

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

[(1, 2, 3, 4, 5), (3, 4, 1, 4, 2)]

Kết luận

Bạn có thể cố gắng giải quyết vấn đề theo nhiều cách khác nhau. Và 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.