我在下面的数据/代码中遇到了意外的行为。
我希望data[0][1]
是第一个列表中的第二个字符(57.9),但我却得到了第一个列表中第一项的第二个字符('e')。
有人可以解释为什么吗?这与我将数据读入列表的方式有关吗?
Mercury,57.9,4879,88,0
Venus,108.2,12104,224.7,0
Earth,149.6,12756,365.2,1
Mars,227.9,6792,687,2
Jupiter,778.6,142984,4331,67
Saturn,1433.5,120536,10747,62
Uranus,2872.5,51118,30589,27
Neptune,4495.1,49528,59800,14
Pluto,5906.4,2370,90560,5
planets = []
file = open('planets_data.txt', 'r')
data = file.readlines()
for line in data:
planets.append(line.strip().split(','))
file.close
print(data[0][1])
答案 0 :(得分:1)
如果正确编写,肯定可以。
print(planets[0][1])
不完全与问题相关,而且
file.close()
,而应使用with
file
,它是python关键字for
遍历行固定版本:
planets = []
with open('planets_data.txt', 'r') as fil:
for line in fil:
planets.append(line.strip().split(','))
print(planets[0][1])