元组切片使用过程中出现的数据类型问题

#P1
>>> n = (1,2,3,4,5,6,7,8,9,0)
>>> for n in n[0:4]:
    print(n)
1
2
3
4

#P2
>>> for n in n[1:4]:
    print(n)    
Traceback (most recent call last):
  File "<pyshell#43>", line 1, in <module>
    for n in n[1:4]:
TypeError: 'int' object is not subscriptable

P1、P2有什么区别?为什么会出现这样的区别?

P2为什么会出问题?

for n in n[0:4]
因为 n 在经过P1的语句后,已经不再是元组了,而是变成了遍历的一个元素,也就是循环遍历的最后一个值,4,所以P2就找不到元组了
换成
for i in n[0:4] 试试

p2里面的n已经不是你开头定义的元祖序列了