在CommandList [Count:Count + len(Command)] == Command中的`Count:Count`在python中做什么?

时间:2019-01-01 23:10:39

标签: python

我不知道代码中的'Count:Count'是做什么的。下面是第4行上使用的功能

我尝试打印它,但是它给了我一个错误。 CommandList和Command一样都是字符串变量。

#[test]
#[ignore]
fn test_too_long() {
    let expected: Vec<String> = vec![];
    assert_eq!(series("92017", 6), expected);
}

1 个答案:

答案 0 :(得分:1)

您的问题已关闭,因为Count: Count在您显示的代码中不执行任何操作。相反,行为是Count:Count + len(Command)。最好写成Count: (Count+len(Command))

CommandListCommand都是字符串或列表或类似的数据类型(以下将称字符串),而Count是整数。特别是,CountCommandList的索引。

表达式CommandList[Count:Count + len(Command)]CommandList的{​​{3}}。换句话说,该表达式是字符串CommandList的子字符串。该子字符串从Count中保留的索引位置开始,并在索引位置Count + len(Command)之前停止。该子字符串的长度与字符串Command的长度相同。

因此整行

if CommandList[Count:Count + len(Command)] == Command:

检查变量Count指向的子字符串是否等于字符串Command。如果子字符串和字符串相等,则执行下一行,即return语句。

清楚吗?阅读有关Python的更多信息,我给您的链接是一个好的开始。切片只是Python处理列表和字符串比大多数其他语言好得多的原因之一。该代码写得有些混乱,因此看起来Count:Count本身就是一个表达式。该代码应该使用不同的间距和括号,以表明内部表达式为Count + len(Command),并在其后使用冒号。操作顺序再次显示出来!