python里split_python中使用split()实现嵌套列表理解

长话短说,我正试图处理我昨天收集的一些疯狂的数据。一个快速嵌套的for循环可以很容易地做到这一点,但现在,我只想让我的嵌套列表理解工作。有很多关于这个主题的帖子,我不确定是我还是因为星期五晚上,我不能让它发挥作用。我的列表符合以下格式:[ [str(j[0], sanitize(j[1]) for j in i.split(',')] for i in b]

其中b是['string, float\t\n', 'string, float\t\n']或者b可能是一个file对象或者其他什么,这无关紧要。在

我可以做一些

^{pr2}$

但是,通过列表理解应该是可能的。它应该!!!而且,不知怎么的,我没有把它弄对。在

现在,谈谈我到目前为止所做的。。。在>>> b

['08:54:55, 0.031250\n', '08:55:57, 0.031250\n']

>>> [i.split(',') for i in b]

[['08:54:55', ' 0.031250\n'], ['08:55:57', ' 0.031250\n']]

我想要的:[['08:54:55', 0.031250], ['08:55:57', 0.031250]]

多个列表的理解可以做到:

比如:[ [j[0], j[1]] for j in i.split(',') for i in b] # the cleaning/str/float would be something like: str(j[0]), float(j[1])

但是,这就是我得到的。在>>> [ [j[0], j[1]] for j in i.split(',') for i in b]

[['0', '8'], ['0', '8'], [' ', '0'], [' ', '0']]

>>>

>>> [ [j[1]] for j in i.split(',') for i in b]

[['8'], ['8'], ['0'], ['0']]

对j[0]或j[1]的任何尝试都不会成功。在

为了弄清楚到底发生了什么,我做了这个:>>> [ [ pprint(type(j)) for j in i.split(',')] for i in b]

[[None, None], [None, None]]

如果我不搞j[0]或j[1]>>> [ [ j for j in i.split(',')] for i in b]

[['08:54:55', ' 0.031250\n'], ['08:55:57', ' 0.031250\n']]

带有pprint(type(j))的示例意味着即使我要编写一个外部函数,它也不会起作用。我只是从列表理解中得到一个空列表。在

我做错什么了?一个lambda可能会成功吗?在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值