我不知道代码中的'Count:Count'是做什么的。下面是第4行上使用的功能
我尝试打印它,但是它给了我一个错误。 CommandList和Command一样都是字符串变量。
#[test]
#[ignore]
fn test_too_long() {
let expected: Vec<String> = vec![];
assert_eq!(series("92017", 6), expected);
}
答案 0 :(得分:1)
您的问题已关闭,因为Count: Count
在您显示的代码中不执行任何操作。相反,行为是Count:Count + len(Command)
。最好写成Count: (Count+len(Command))
。
CommandList
和Command
都是字符串或列表或类似的数据类型(以下将称字符串),而Count
是整数。特别是,Count
是CommandList
的索引。
表达式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)
,并在其后使用冒号。操作顺序再次显示出来!