切片列表没有正确的出来。 Python 3

时间:2017-04-06 23:33:33

标签: python list slice

我在一个文件中有一些数据,我已将其转换为(int)并附加到列表中。

minValue = open ("Mineral Values.csv", 'r')
refineList = []

for line in minValue:
    tritanium, pyerite, mexallon, isogen, nocxium, megacyte, zydrine, morphite = line.split(',')
    trit = int(tritanium)
    pye = int(pyerite)
   mexa = int(mexallon)
    iso = int(isogen)
    nocx = int(nocxium)
    mega = int(megacyte)
    zyd = int(zydrine)
    morp = int(morphite)
    refineList.append ([trit, pye, mexa, iso, nocx, mega, zyd, morp])
    minValue.close()

如果我打印出来,它会打印出文件中的所有数据。 [[415,0,0,0,0,0,0,0],[436,0,0,0,0,0,0,0],[457,0,0,0,0,0, 0,0],[346,173,0,0,0,0,0,0等]

但是我想将这些列表中的一部分切出来,这样我就可以将它们分配给变量来进行数学运算。使用的代码如下

refineList[0:3]
print (refineList)

这应该打印出我认为的第一个列表中的415个?但它没有做任何事情,只是打印出整个列表。我在网站上四处看看,所有人都说使用切片方法应该有效,所以我缺少什么?

提前致谢

1 个答案:

答案 0 :(得分:2)

a = [[415, 0, 0, 0, 0, 0, 0, 0], [436, 0, 0, 0, 0, 0, 0, 0], [457, 0, 0, 0, 0, 0, 0, 0], [346, 173, 0, 0, 0, 0, 0, 0]]

print a[0] # print first list in my list of lists
print a[0][0] # print first element in first list in my list of lists

>>>
[415, 0, 0, 0, 0, 0, 0, 0]
415