为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

largeQ 2023-04-11 15:54:38
我正在尝试将嵌套的字符串列表拆分为嵌套的浮点数列表。我的嵌套列表如下: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 的嵌套列表中拆分字符串?,但此代码仅处理具有一个字符串元素的子列表,我不确定如何将其应用于具有多个字符串的子列表。我试图避免对任何内容进行硬编码,因为这是更大数据集的脚本的一部分,并且子列表长度可能会有所不同。如果有人有任何想法,我将不胜感激。
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

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]]


查看完整回答
反对 回复 2023-04-11
?
UYOU

TA贡献1878条经验 获得超4个赞

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)


查看完整回答
反对 回复 2023-04-11
  • 2 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信