Trong trăn, làm cách nào tôi có thể chia danh sách dài thành danh sách các danh sách bất cứ nơi nào tôi gặp '-'. Ví dụ, làm thế nào tôi có thể chuyển đổi:danh sách> danh sách các danh sách
['1', 'a', 'b','---', '2','c','d','---','3','123','e','---','4']
để
[['1', 'a', 'b'],['2','c','d'],['3','123','e'],['4']]
Nhiều cảm ơn trước.
+1 Nice (không nghĩ ngay đến 'itertools.groupby' ở đây nhưng nó phù hợp với hóa đơn thực sự) – ChristopheD
Cảm ơn câu trả lời của bạn. Có cách nào để kiểm tra x == '---' trong dòng trên với một biểu thức chính quy (một cái gì đó như x == re.match ('-'))? Rất cám ơn – DGT
Vâng, bạn có thể sử dụng một cái gì đó như '[danh sách (g) cho k, g trong itertools.groupby (l, lambda x: re.match ('---', x)) nếu không k]'. Biểu thức 're.match (...)' trả về None khi 'x' không khớp với mẫu. Do đó 'k' là' None' cho các phần tử bạn muốn giữ lại. Vì vậy, tôi đã thay đổi điều kiện thành 'if not k'. – unutbu