PYTHON:for循环访问二位列表的问题

list = [['sd',123],['gd',345],['ui',569]]
#第一种
for i in list:
    print(i)
#第二种
for v,k in list:
    print(v,k)

为什么结果为:

['sd', 123]
['gd', 345]
['ui', 569]
sd 123
gd 345
ui 569

弄不懂为什么可以直接利用v,k直接访问到二维列表中一维列表的元素?
不应该用i[0],i[1]才能访问到吗?
望指点,谢谢!

这属于 Python 的解构语法,可以自动解构可迭代的数据,比如:

a, b = [1, 2]              # a = 1, b = 2
a, b, c = ['a', 'b', 'c']  # a = 'a', b = 'b', c = 'c'

这是python语法。
for i in list: i 是list里面的每一个二维,本身是一个列表,所以输出的是列表
for v,k in list: v,k 是list里面每一个二维里面的两个值,变量和值的数量对应,所以输出的是这两个值。