0
我在一個文件中有一些數據,我已經在(int)中進行了轉換並將其附加到列表中。切片列表沒有正確輸出。 Python 3
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我認爲?但是它沒有任何作用,只是再次打印出整個列表。我環視四周,並說所有使用切片方法應該工作,所以我錯過了什麼?
在此先感謝
使用'圖(INT,line.split( ''))'來拯救自己所有的個人電話爲int。 –
你應該使用'refineList = refineList [0:3]'。只是說'refineList'不會改變任何東西。 – zondo
並回答你的問題,沒有。有幾個問題似乎讓你感到困惑。使用切片*會創建一個新列表*並且不會修改原始圖片。如果您沒有將切片分配給任何內容,它只會被垃圾收集。其次,'refineList'是其他列表的列表......切片'[:3]'將返回一個新列表,其中包含'refineList'中的前三個子列表。如果您想要第一個子列表的第一個元素,請使用'x = refineList [0] [0]' –