在 Python 的嵌套列表中拆分字符串并转换为浮点数?

我正在尝试将嵌套的字符串列表拆分为嵌套的浮点数列表。我的嵌套列表如下:

nested = [['0.3, 0.4, 0.2', '0.5, 0.1, 0.3'], ['0.7, 0.4, 0.2'], ['0.4, 0.1, 0.3']]

我想要的输出是一个嵌套列表,其中这些值保留在它们的子列表中并转换为浮点数,如下所示:

nested = [[0.3, 0.4, 0.2, 0.5, 0.1, 0.3], [0.7, 0.4, 0.2], [0.4, 0.1, 0.3]]

当尝试处理具有多个字符串(即第一个元素)的子列表时,困难就来了。我找到了一些示例,例如此处如何在 Python 的嵌套列表中拆分字符串?,但此代码仅处理具有一个字符串元素的子列表,我不确定如何将其应用于具有多个字符串的子列表。

我试图避免对任何内容进行硬编码,因为这是更大数据集的脚本的一部分,并且子列表长度可能会有所不同。

如果有人有任何想法,我将不胜感激。


largeQ
浏览 171回答 2
2回答

红糖糍粑

nested = [['0.3, 0.4, 0.2', '0.5, 0.1, 0.3'], ['0.7, 0.4, 0.2'], ['0.4, 0.1, 0.3']]new_nested = [[float(number) for strings in sublist for number in strings.split(', ')] for sublist in nested]print(new_nested)new_nested = list()for sublist in nested:  sublist_new_nested = list()  for strings in sublist:    for number in strings.split(', '):      sublist_new_nested.append(float(number))  new_nested.append(sublist_new_nested)print(new_nested)输出:[[0.3, 0.4, 0.2, 0.5, 0.1, 0.3], [0.7, 0.4, 0.2], [0.4, 0.1, 0.3]][[0.3, 0.4, 0.2, 0.5, 0.1, 0.3], [0.7, 0.4, 0.2], [0.4, 0.1, 0.3]]

UYOU

result = [[float(t) for s in sublist for t in s.split(', ')] for sublist in nested]这相当于result = []for sublist in nested:    inner = []    for s in sublist:        for t in s.split(', '):            inner.append(float(t))    result.append(inner)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python