list列表循环拆包

 二维数组如下:

student_info2 = [
    [1,'刘海洋','北京' ],
    [2,'hzy','北京'],
    [3,'ljj','北京']
]

想将二维数组内的每个数组单独取出来。

方法一(很原始的方式,好理解,但麻烦。一般不建议使用):

index = 0
student_len = len(student_info2) #list的长度
while index < student_len:
    stu = student_info2[index]
    
     stuid = stu[0]
     name = stu[1]
     addr = stu[2]

     sql ='insert into student values ({id},"{name}","{addr}");'.format(
         id=stuid,name=name,addr=addr
     )
    print(sql)
    index +=1

 

方法二(和方法一相似,但代码行数少):

拆包:

必须得和元素数一致,比如这个例子stuid,name,addr = stu,只能写三个,写2个或者4个都不行。

index = 0
student_len = len(student_info2) #list的长度
while index < student_len:
    stu = student_info2[index]
    #拆包
    stuid,name,addr = stu
    sql ='insert into student values ({id},"{name}","{addr}");'.format( id=stuid,name=name,addr=addr ) 
    print(sql) 
    index +=1

 方法三(推荐!方便简洁):

for ** in ** 取出list的每一个元素

for stu in student_info2:
    print(stu)

完整代码如下:

for stu in student_info2:
    stuid,name,addr = stu
    sql ='insert into student values ({id},"{name}","{addr}");'.format(
        id=stuid,name=name,addr=addr
    )
    print(sql)

 

for循环使用方法示例:

for i in range(5):#[0,1,2,3,4]
    print(i) #0 1 2 3 4

 

 附:java里面的循环,仅做了解

l = ['a','b','c'] #java里面的循环
for (int i=0;i<5;i++;) {
    t = l[i]
}

 

posted @ 2021-05-14 16:38  灿烂初秋  阅读(154)  评论(0编辑  收藏  举报