python中readline中的字符串从1开始?
我打开一个文件 line=file.readline 并使用第[0:2]行选择行中的前3个字符。 但是weired,行[0:2]只包含2个字符。 因此,我必须使用第[0:3]行来选择前3个字符,它可以工作 但是为什么呢 我检查了文件,每行开头没有空格python中readline中的字符串从1开始?,python,string,indexing,readline,Python,String,Indexing,Readline,我打开一个文件 line=file.readline 并使用第[0:2]行选择行中的前3个字符。 但是weired,行[0:2]只包含2个字符。 因此,我必须使用第[0:3]行来选择前3个字符,它可以工作 但是为什么呢 我检查了文件,每行开头没有空格 任何人都知道这一点,因为您的片段从字符0之前到字符2之前。也就是说,从字符0之前到字符1之后。也就是说,前两个字符以字符0开头。0:2中的第一个数字0是包含的,0:2中的第二个数字2是独占的 它就像一个C++/C for循环: for (int n
任何人都知道这一点,因为您的片段从字符0之前到字符2之前。也就是说,从字符0之前到字符1之后。也就是说,前两个字符以字符0开头。0:2中的第一个数字0是包含的,0:2中的第二个数字2是独占的 它就像一个C++/C for循环:
for (int n = i ; n < j ; n++)
{
...
}
而不是
for (int n = i ; n <= j ; n++)
顺便说一句,但有点离题:使用包含性开始边界和独占性结束边界是一种很好的做法。如果i和j相同,就不会遇到问题,即for循环没有执行。如果需要倒计时,则使用包含的结束绑定和独占的开始绑定。以下是阅读它的解释,很好!: 记住切片工作原理的一种方法是将索引视为指向字符之间,第一个字符的左边缘编号为0。则n个字符字符串的最后一个字符的右边缘具有索引n,例如:
+---+---+---+---+---+
| H | e | l | p | A |
+---+---+---+---+---+
0 1 2 3 4 5
-5 -4 -3 -2 -1
第一行数字给出了索引0…5在字符串中的位置;第二行给出了相应的负指数。从i到j的切片由分别标记为i和j的边之间的所有字符组成。在Python切片中,您可以指定您想要的第一项,然后是您不想要的第一项。哦,我的英语!,字符0之前是-1是什么意思?不,是字符0之前的点,但在前一个字符之后。我明白了。这真是一个很好的解释!我会读那个教程!