在嵌套列表中键入强制转换某些值

2024-09-24 22:22:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个嵌套的字符串列表:

等等

我正在尝试将每个列表的第一个位置[0]从字符串强制转换为浮点

我试图将每个子列表的第二个位置[1]从string转换为int

我尝试过不同的for循环,但就我的一生而言,我似乎无法正确理解语法

可以修改station_数据,也可以创建新列表,无论哪种方式都可以

所需的输出应如下所示: station_data_processed = [[65.29, 3003, 'station1'], [81.23, 8000, 'station2'], [77.33, 3500, 'station3']]

任何建议都是巨大的帮助,谢谢


Tags: 数据字符串列表fordatastring方式语法
2条回答

您可以执行以下操作:

converted_list = [[float(i[0]), int(i[1]), i[2]] for i in station_data]

你可以利用try/except

station_data = [['65.29', '3003', 'station1'], ['81.23', '8000', 'station2'], ['77.33', '3500', 'station3']]
l = []
for lst in station_data:
    group = []
    for val in lst:
        try:
            val = int(val)
        except ValueError:
            try:
                val = float(val)
            except ValueError:
                pass
        group.append(val)
    l.append(group)

输出

[[65.29, 3003, 'station1'], [81.23, 8000, 'station2'], [77.33, 3500, 'station3']]

相关问题 更多 >