相关疑难解决方法(0)

从索引到结尾获取数组元素

假设我们有以下数组:

import numpy as np
a = np.arange(1, 10)
a = a.reshape(len(a), 1)
array([[1],
       [2],
       [3],
       [4],
       [5],
       [6],
       [7],
       [8],
       [9]])
Run Code Online (Sandbox Code Playgroud)

现在,我想访问从索引4到结尾的元素:

a[3:-1]
array([[4],
       [5],
       [6],
       [7],
       [8]])
Run Code Online (Sandbox Code Playgroud)

当我这样做时,结果向量缺少最后一个元素,现在有五个元素而不是六个元素,为什么会发生,我怎样才能获得最后一个元素而不附加它?

预期产量:

array([[4],
       [5],
       [6],
       [7],
       [8],
       [9]])
Run Code Online (Sandbox Code Playgroud)

提前致谢

python indexing numpy vector

17
推荐指数
1
解决办法
7万
查看次数

什么:-1意味着在python中?

可能重复:
Python切片表示法

我正在尝试将一些Python代码移植到C,但我遇到了这一行,我无法弄清楚它的含义:

if message.startswith('<stream:stream'):
    message = message[:-1] + ' />'
Run Code Online (Sandbox Code Playgroud)

我明白,如果' message从那开始,<stream:stream那么需要附加一些东西.但是,我似乎无法弄清楚应该追加的位置.我完全不知道是什么:-1表明.我做了几次谷歌搜索没有结果.

有人会如此善意地解释这是做什么的吗?

python syntax

17
推荐指数
2
解决办法
8万
查看次数

Python列表错误:[: - 1]踩到[:-1]切片

我以为我理解了python中列表切片的基础知识,但是在切片上使用负步骤时收到了意外错误,如下所示:

>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[:-1]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> a[:-1:-1]
[]
Run Code Online (Sandbox Code Playgroud)

(请注意,这是在Python 3.5中运行)

为什么[: - 1:-1]不会以与使用[:: - 1]的整个列表相同的方式反向遍历a [: - 1]切片?

我意识到你也可以使用list.reverse(),但试图更好地理解底层的python切片功能.

python reverse slice

17
推荐指数
2
解决办法
3万
查看次数

在python中截断一个字符串

有人给了我一个截断字符串的语法,如下所示:

string = "My Text String"

print string [0:3] # This is just an example
Run Code Online (Sandbox Code Playgroud)

我不确定这是什么(字符串[0:3]语法),所以我很难在互联网上查找它并理解它是如何工作的.到目前为止,我认为它的工作原理如下:

  • string [0:3]#返回字符串中的前3个字符
  • string [0:-3]#将返回字符串的最后3个字符
  • string [3:-3]#似乎截断前3个字符和后3个字符
  • string [1:0] #I返回2个单引号....不知道这是做什么的
  • string [-1:1]#与最后一个相同

无论如何,我可以添加一些其他示例,但我的观点是我是这个功能的新手,我想知道它的名称以及我可以在哪里找到更多相关信息.我确定我在某个地方错过了一个很好的参考.

谢谢你的任何建议,迈克

python truncate

16
推荐指数
2
解决办法
6万
查看次数

复制列表时'[:]'和'[::]'切片之间的区别?

我们可以(浅)复制a list使用[:]:

l = [1, 2, 3]
z1 = l[:]
Run Code Online (Sandbox Code Playgroud)

我们也可以(浅)复制它[::]:

z2 = l[::]
Run Code Online (Sandbox Code Playgroud)

现在z1 == z2True.在阅读了Explain Python的切片表示法中的答案之后,我理解这些切片是如何工作.

但是,我的问题是,这两者内部有什么区别吗?复制中的一个比另一个更有效,还是做同样的事情?

python list slice python-3.x

16
推荐指数
1
解决办法
874
查看次数

我不明白在Python中使用负边界切片.这应该怎么样?

我是Python的新手,并且在我的书中遇到了以下示例,但没有得到很好的解释.这是我从翻译中打印出来的:

>>> s = 'spam'
>>> s[:-1]
'spa'
Run Code Online (Sandbox Code Playgroud)

为什么切片没有开始绑定并'-1'返回除最后一个之外的每个元素?在呼叫s[0:-1]逻辑上与呼叫相同s[:-1]吗?它们都返回相同的结果.但我不确定python正在做什么.任何帮助将不胜感激.

python slice

15
推荐指数
4
解决办法
3万
查看次数

如何使用过滤器来处理带有多个参数的lambda?

使用Python,我发现很难让filter()与lambda一起工作,因为需要传递多于1个参数的情况,如下面的代码片段所示:

max_validation = lambda x,y,z: x < y < z
sequence1 = [1,4,8]
filter(max_validation, sequence1)
Run Code Online (Sandbox Code Playgroud)

它引发了以下错误:

TypeError: <lambda>() takes exactly 3 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

请在这里建议我做错了什么.

python

14
推荐指数
3
解决办法
2万
查看次数

如何在Python中获取字符串的前2个字母?

假设我有一个字符串

Str1 = "TN 81 NZ 0025" 
str2 = "DL 11C AA 1111"
two = first2(str1)
print(two)
>>>TN
Run Code Online (Sandbox Code Playgroud)

如何获取这些字符串的前两个字母.我需要first2函数.

python string python-2.7

14
推荐指数
3
解决办法
7万
查看次数

13
推荐指数
1
解决办法
3508
查看次数

Pytorch张量到numpy数组

我有一个pytorch尺寸张量torch.Size([4, 3, 966, 1296])

我想numpy使用以下代码将其转换为数组:

imgs = imgs.numpy()[:, ::-1, :, :]

任何人都可以解释这段代码在做什么?

python numpy pytorch

13
推荐指数
5
解决办法
3万
查看次数

标签 统计

python ×10

slice ×4

numpy ×2

indexing ×1

list ×1

python-2.7 ×1

python-3.x ×1

pytorch ×1

reverse ×1

string ×1

syntax ×1

truncate ×1

vector ×1