加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python 2D列表切片

发布时间:2020-12-16 22:53:42 所属栏目:Python 来源:网络整理
导读:我环顾四周,找不到任何具体的东西,所以这里有: 我有一份清单清单: S = [[3,4],[6,7],[10,12]] 我想将第i个索引元素的第0个索引添加到另一个列表的末尾: R = [5,6,7] 通常使用一维列表我可以说: R = R + S[i:] 并从第i个索引中获取所有元素,但我想要2D S

我环顾四周,找不到任何具体的东西,所以这里有:

我有一份清单清单:

S = [[3,4],[6,7],[10,12]]

我想将第i个索引元素的第0个索引添加到另一个列表的末尾:

R = [5,6,7]

通常使用一维列表我可以说:

R = R + S[i:]

并从第i个索引中获取所有元素,但我想要2D S的第i个索引的第0个索引.如果我们从i = 1开始,我最终会得到:

R = [5,7,10]

另外,我不想使用for循环我想要一个可以工作的列表切片方法(如果有的话),因为它需要在一定的范围内.

最佳答案
您可以使用zip来转置矩阵:

>>> S
[[3,12]]
>>> zip(*S)
[(3,10),(4,12)]

然后切片换位:

>>> j=0
>>> i=1
>>> zip(*S)[j][i:]
(6,10)

元组是可迭代的,因此连接将与列表一起使用:

>>> R = [5,7]
>>> R+=zip(*S)[j][i:]
>>> R
[5,10]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读