数组索引+ 1的python拼接语法:

时间:2014-11-01 21:42:41

标签: python split

我基本上是一名PHP程序员,我试图在Python中解释一个简单的行:

thekey = data['k'][data['k'].index(':') + 1:]

我对+ 1:感到困惑。 php中的data['k'].index(':')array_search的{​​{1}},但我对':'

感到困惑

3 个答案:

答案 0 :(得分:2)

这意味着首先使用:方法搜索.index ()的第一次出现,然后从该位置开始直到该结束时从该位置开始制作切片。列表。

答案 1 :(得分:2)

是的,这是一段令人困惑的代码。

Splice语法如下所示:

[start:end]

当结束留空时,它会抓取所有内容,直到数据结束,如本例所示。

+ 1只是在data['k'].index(':')调用的结果中添加一个,结尾的:是拼接运算符。为了便于阅读,可以像这样进行扩展:

x = data['k'].index(':')
thekey = data['k'][x+1 : ]

正如评论所说,如果您向我们提供了数据内容,那么回答这个问题真的会更容易。

Further reading.

答案 2 :(得分:1)

+ 1:此处不是单位。 + 1是切片开始的一部分,:是开始与结束的区别。在Python中,some_list[start:end]表示“some_list的元素从(包括)开始到最后(但不包括)结束”。 some_list[start:]表示“从开始到开始一直到列表末尾的元素”。

通过这种方式思考代码,您可以更好地理解:

thekey = data['k'][ (data['k'].index(':')+1) : ]

整个位data['k'].index(':')+1是一个给出切片开始的表达式(在这种情况下,是data['k']中第一个冒号之后的位置)。所以这意味着“在第一次结肠后给我全部data['k']。”