(id,title)= line.split('|')[0:2]是做什么的?

时间:2018-08-07 15:03:09

标签: python python-3.x python-2.7

所以我才刚刚开始学习python,我拿起了一本用python 2编写的书,但是我正在使用python3.6进行编译。所以我对这些差异不是很熟悉。

我写这篇文章

http://example.com/hello/

我收到此错误

movies={}
for line in open (path+'/u.item'):
    (id,title)=line.split('|')[0:2]
    movies[id]=title

我不太确定(id,title)= line.split(“ |”)[0:2]在做什么。请帮助我理解。

1 个答案:

答案 0 :(得分:4)

每个line应该是一个包含一个或多个管道字符(|)的字符串。

例如line = "This|is|an|example"

line.split('|')在每次出现定界符时将字符串拆分为一个数组,即,作为参数传递给split()的字符串,在本例中为管道字符。

因此,在我的示例中,line.split('|')返回['This', 'is', 'an', 'example']

结尾的方括号中说:“现在我们将字符串分割成一个数组,给我该数组中的所有项目,从索引0到(但不包括!)索引2。” (换句话说,请给我数组中的前两项。)

继续我的示例,line.split('|')[0:2]返回['This', is']

=符号将返回的值('This''is')分别分配给idtitle

结果为id == 'This'title == 'is'