假设我有一个列表:
l = ['1 bd', '1 ba', '565 sqft', '- Apartment for rent', '2 bds', '1 ba', '1,200 sqft', '- Apartment for rent', 'None', '2 bds', '1 ba', '-- sqft', '- Apartment for rent', '1 bd', '1 ba', '382 sqft', '- Apartment for rent', 'None', '1 bd', '1 ba', '615 sqft', '- Apartment for rent', '1 bd', '1 ba', '478 sqft', '- Apartment for rent', '1 bd', '1 ba', '529 sqft', '- Apartment for rent']
如何制作嵌套列表,以便其中的不同列表可以由不同数量的合并元素组成
预期输出:
l = [['1 bd, 1 ba, 565 sqft, - Apartment for rent'], ['2 bds, 1 ba, 1,200 sqft, - Apartment for rent'], ['None'], ['2 bds, 1 ba, -- sqft, - Apartment for rent'], ['1 bd, 1 ba, 382 sqft, - Apartment for rent'], ['None'], ['1 bd, 1 ba, 615 sqft, - Apartment for rent'], ['1 bd, 1 ba, 478 sqft, - Apartment for rent'], ['1 bd, 1 ba, 529 sqft, - Apartment for rent']]
列表中的项目不必与上面的项目完全相同(逗号或连字符)。我的目标是以一种有意义的方式将它们组合在一起
您可以使用}和
itertools
{groupby()
来执行此操作。例如:给出:
说明:
我们制作一个
key
来检测“一个列表的结尾”:要么'for rent'
在字符串中,要么字符串是'None'
(当然,调整即席)累积然后生成组(第一个列表为0,第二个列表为1,以此类推)
Groupby将流拆分为多个组。那么,这仅仅是一个连接正确位的问题
相关问题 更多 >
编程相关推荐