两种for循环写法的区别


for i in range(len(datas)):
    datas[i]=datas[i].split('\t')
    #data[3]=data[3][:-1]
print(datas[1][3])
'''
for data in datas:
    data=data.split('t')
print(datas[1][3])
'''

用下面这种循环就得不到结果,请问这两种写for循环的方式有什么区别吗

你是在最外层打印的?
其实两种for等效,只是for里的逻辑不一样,第一个for你把处理后的结果重新赋给了datas,第二个for没有重新赋回去,因为data只是个临时变量,它的值和datas[i]相等而已,改变它不会改变datas[i]

第一种是直接循环的下标以0,1,2,... 第二种是直接循环的元素直接data['name'] 可以直接获取到元素