Danh sách là một container quan trọng và được sử dụng gần như trong mọi mã lập trình hàng ngày cũng như phát triển web, càng được sử dụng nhiều, yêu cầu thành thạo nó càng cao, do đó kiến thức về các thao tác của nó là cần thiết.
Ví dụ
# sử dụng itertools.zip_longest
# import thư viện
from itertools import zip_longest
# khởi tạo listoflist
test_list = [
[('11'), ('12'), ('13')],
[('21'), ('22'), ('23')],
[('31'), ('32'), ('33')]
]
# in danh sách ban đầu
print("Danh sách ban đầu = ", test_list)
# lặp tuple danh sách của danh sách thành một danh sách duy nhất
res_list = [item for my_list in zip_longest(*test_list) for item in my_list if item]
# in danh sách kết quả
print("Danh sách kết quả = ", res_list)
# sử dụng itertools.zip_longest + lambda + chain
# import thư viện
from itertools import zip_longest, chain
# khởi tạo listoflist
test_list = [
[('11'), ('12'), ('13')],
[('21'), ('22'), ('23')],
[('31'), ('32'), ('33')]
]
# in danh sách ban đầu
print("Danh sách ban đầu = ", test_list)
# lặp tuple danh sách của danh sách thành một danh sách duy nhất
# sử dụng lambda + chain + filter
res_list = list(filter(lambda x: x, chain(*zip_longest(*test_list))))
# in danh sách kết quả
print("Danh sách kết quả = ", res_list)
# danh sách sử dụng list comprehension
# khởi tạo listoflist
test_list = [
[('11'), ('12'), ('13')],
[('21'), ('22'), ('23')],
[('31'), ('32'), ('33')]
]
# in danh sách ban đầu
print("Danh sách ban đầu = ", test_list)
# lặp tuple danh sách của danh sách thành một danh sách duy nhất
# sử dụng list comprehension
res_list = [item for list2 in test_list for item in list2]
# in danh sách kết quả
print("Danh sách kết quả = ", res_list)