将列表分成N个部分以获取元组列表

问题描述 投票:1回答:2

我有一个列表,我必须将其分为9部分,但是我得到了一个列表列表,我想获得一个元组列表。我不知道是否可以在python上执行此操作。

data= [1, 'PURECO', 'WOMAN', 'MARISCAL', 'MULLER', 28, 'DIABETES', 'APC', 2020-01-03, 2, 'CAO', 'WOMAN', 'CAL Y MAYOR', 'URTIZ', 34, 'OBESIDAD TIPO 1', 'APC', 2020-01-03]

我尝试过:

data = [data[i:i+9] for i in range(0, len(data),9)]

我知道了:

data= [[1, 'PURECO', 'WOMAN', 'MARISCAL', 'MULLER', 28, 'DIABETES', 'APC', 2020-01-03],[ 2, 'CAO', 'WOMAN', 'CAL Y MAYOR', 'URTIZ', 34, 'OBESIDAD TIPO 1', 'APC', 2020-01-03]]

但是,我想得到这个:

data= [(1, 'PURECO', 'WOMAN', 'MARISCAL', 'MULLER', 28, 'DIABETES', 'APC', 2020-01-03),(2, 'CAO', 'WOMAN', 'CAL Y MAYOR', 'URTIZ', 34, 'OBESIDAD TIPO 1', 'APC', 2020-01-03)]
python
2个回答
2
投票

您的解决方案即将完成,您只需转换为tuple

data = [tuple(data[i:i+9]) for i in range(0, len(data),9)]
        ^                ^
        this will convert inner lists to tuples
>>> [tuple(data[i:i+9]) for i in range(0, len(data),9)]
[(1, 'PURECO', 'WOMAN', 'MARISCAL', 'MULLER', 28, 'DIABETES', 'APC', '2020-01-03'), (2, 'CAO', 'WOMAN', 'CAL Y MAYOR', 'URTIZ', 34, 'OBESIDAD TIPO 1', 'APC', '2020-01-03')]

0
投票

您可以尝试以下方法:

list_of_tuples = [tuple(item) for item in data]
© www.soinside.com 2019 - 2024. All rights reserved.