Rok*_*ter 5 python list slice python-2.7
我环顾四周,找不到任何具体的东西,所以这里有:
我有一份清单清单:
S = [[3,4],[6,7],[10,12]]
Run Code Online (Sandbox Code Playgroud)
我想将第i个索引元素的第0个索引添加到另一个列表的末尾:
R = [5,6,7]
Run Code Online (Sandbox Code Playgroud)
通常使用一维列表我可以说:
R = R + S[i:]
Run Code Online (Sandbox Code Playgroud)
并从第i个索引中获取所有元素,但我想要2D S的第i个索引的第0个索引.如果我们从i = 1开始,我最终会得到:
R = [5,6,7,6,10]
Run Code Online (Sandbox Code Playgroud)
另外,我不想使用for循环我想要一个可以工作的列表切片方法(如果有的话),因为它需要在一定的范围内.
您可以使用zip转置矩阵:
>>> S
[[3, 4], [6, 7], [10, 12]]
>>> zip(*S)
[(3, 6, 10), (4, 7, 12)]
Run Code Online (Sandbox Code Playgroud)
然后对转置进行切片:
>>> j=0
>>> i=1
>>> zip(*S)[j][i:]
(6, 10)
Run Code Online (Sandbox Code Playgroud)
元组是可迭代的,因此串联可以与列表一起使用:
>>> R = [5,6,7]
>>> R+=zip(*S)[j][i:]
>>> R
[5, 6, 7, 6, 10]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3219 次 |
| 最近记录: |