Py学习  »  Python

用Python填写大小不均的列表

Sun Jar • 3 年前 • 1726 次点击  

我有一个2D列表包含大小不等的数字,如下所示:

lst = [[1,2,3],[-1,2,4],[0,2],[2,-3,6]]

如果元素大小小于3,我使用此代码插入0:

newlist = [val.insert(1,0) for val in lst if len(val)<3]

但我只是得到了一个空的 newlist 原著呢 lst 被插入一个 0 .

>>> lst = [[1,2,3],[-1,2,4],[0,2],[2,-3,6]]
>>> newlist = [val.insert(1,0) for val in lst if len(val)<3]
>>> newlist
[None]
>>> lst
[[1, 2, 3], [-1, 2, 4], [0, 0, 2], [2, -3, 6]]

我不想用旧的 lst 列出值,因为如果修改值可以返回 新名单 ,我可以直接用它转换成数据帧。这样地:

df = pd.DataFrame([val.insert(1,0) for val in lst if len(val)<3])

那么,我该怎么做呢?我希望代码可以用一行程序编写。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132619
 
1726 次点击  
文章 [ 3 ]  |  最新文章 3 年前