我基本上是一个PHP程序员,我试图解释一个简单的线条在Python:与数组索引+ 1蟒蛇拼接语法:
thekey = data['k'][data['k'].index(':') + 1:]
我越来越困惑的+ 1:
。在PHP中data['k'].index(':')
是':'
array_search
,但我越来越困惑的+ 1:
我基本上是一个PHP程序员,我试图解释一个简单的线条在Python:与数组索引+ 1蟒蛇拼接语法:
thekey = data['k'][data['k'].index(':') + 1:]
我越来越困惑的+ 1:
。在PHP中data['k'].index(':')
是':'
array_search
,但我越来越困惑的+ 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']
”。
是的,抱歉...数据['k'] [(data ['k'] .index(':')+ 1):]是正确的 – user1217974 2014-11-01 21:55:36
这意味着首先你搜索使用.index()
方法:
第一次出现,然后进行单从位置开始片发生之后直到列表的末尾。
是的这是一个相当混乱的代码。
拼接语法如下:
[start:end]
当最终被留为空白,它抓住一切直到数据的结尾,因为在这种情况下。
+ 1
仅仅是对data['k'].index(':')
调用的结果加1,最后的冒号:
是拼接操作符。这可以像下面这样扩大了可读性:
x = data['k'].index(':')
thekey = data['k'][x+1 : ]
正如评论所说,它真的会更容易,如果你给我们的数据的内容来回答这个问题。
我们需要更多信息。什么存储在'data'中? – mdml 2014-11-01 21:45:41
plz分享也输入 – Hackaholic 2014-11-01 21:46:00
你确定这是对的吗?同时做'data ['k']'和'data [...:]'是不常见的。它可能是'data ['k'] [data ['k']。index(':')+ 1:]'? – BrenBarn 2014-11-01 21:52:04