我有一些我很难理解的简单现象。 我加载了一个csv文件
import csv
with open('Salaries.csv', 'rb') as csvfile:
Salaries = csv.reader(csvfile, delimiter=',')
Salaries = [row for row in Salaries]
我查询它,例如看到5列
print Salaries[1][:]
['1985', 'BAL', 'AL', 'murraed02', '1472819']
如果我查找不存在的第5个索引,它会正确地抛出一个错误:
print Salaries[1][5]
IndexError: list index out of range
但如果我运行索引0:5,它不会抛出错误:
print Salaries[1][0:5]
['1985', 'BAL', 'AL', 'murraed02', '1472819']
奇怪的是,我看到了这些结果
print Salaries[1][0:1]
['1985']
print Salaries[1][0]
1985
print Salaries[1][1]
BAL
我知道我错过了一些基本的东西,我只是不明白。救命啊?你知道吗
运行
print Salaries[1][0:5]
将打印包含从0th
索引到5th
索引的切片的列表,因此在数学术语中,范围是[0,4]或[0,5]。你知道吗在2.7中,您可以任意地对任意数字进行切片,如果切片范围大于其长度,它将返回整个列表
需要注意的是,这是python在函数中的典型特征,例如
range(x,y)
,该函数在y
之前存在,不包括y
。这允许调用for i in range(0,len(mylist))
,尽管许多python用户会建议使用不同的方法。你知道吗相关问题 更多 >
编程相关推荐