我基本上是一名PHP程序员,我试图在Python中解释一个简单的行:
thekey = data['k'][data['k'].index(':') + 1:]
我对+ 1:
感到困惑。 php中的data['k'].index(':')
是array_search
的{{1}},但我对':'
答案 0 :(得分:2)
这意味着首先使用:
方法搜索.index ()
的第一次出现,然后从该位置开始直到该结束时从该位置开始制作切片。列表。
答案 1 :(得分:2)
是的,这是一段令人困惑的代码。
Splice语法如下所示:
[start:end]
当结束留空时,它会抓取所有内容,直到数据结束,如本例所示。
+ 1
只是在data['k'].index(':')
调用的结果中添加一个,结尾的:
是拼接运算符。为了便于阅读,可以像这样进行扩展:
x = data['k'].index(':')
thekey = data['k'][x+1 : ]
正如评论所说,如果您向我们提供了数据内容,那么回答这个问题真的会更容易。
答案 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']
。”