Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีจัดกลุ่มสมาชิก Python Tuple ตามสมาชิกตัวแรก

Python มีฟังก์ชัน defaultdict ที่จัดกลุ่มสมาชิก Python tuple ตามสมาชิกตัวแรก

ตัวอย่าง

lst = [
    (1, 'Hello', 'World', 112),
    (2, 'Hello', 'People', 42),
    (2, 'Hi', 'World', 200)
]

from collections import defaultdict

d = defaultdict(list)
for k, *v in lst:
    d[k].append(v)
print(d)

ผลลัพธ์

defaultdict(, {1: [['Hello', 'World', 112]], 2: [['Hello', 'People', 42], ['Hi', 'World', 200]]})

คุณสามารถแปลงกลับเป็น tuples พร้อมรักษาการจัดกลุ่มโดยใช้เมธอด tuple(d.items())

ตัวอย่าง

print(tuple(d.items()))

ผลลัพธ์

((1, [['Hello', 'World', 112]]), (2, [['Hello', 'People', 42], ['Hi', 'World', 200]]))