1 前言
最近在使用python操作mysql,涉及列表操作比较多,整理一下列表遍历。
主要copy于python3 遍历列表list 四种方法
2 方法
2.1 in
1 | item_list = ['a', 'b', 'c', 'd', 'a'] |
注意:按顺序输出值;如果列表中有重复值,下标会返回第一个值的下标,如上面的第二个a
,但是这种bug只需要添加一个计数变量就解决了。
2.2 enumerate()
enumerate(sequence, [start=0])
,返回枚举对象(元组)
参数:
sequence
:一个序列、迭代器或其他支持迭代对象。start
:下标起始位置。
用法实例:
1 | item_list = ['a', 'b', 'c', 'd', 'a'] |
注意:按顺序输出值;下标会返回对应值的下标,解决了2.1
的问题。
2.3 iter()迭代器
iter(object, [sentinel])
函数用来生成迭代器,返回迭代对象。
参数:
object
:支持迭代的集合对象。sentinel
:如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。
用法实例:
1 | item_list = ['a', 'b', 'c', 'd', 'a'] |
注意:按顺序输出。
2.4 range()函数
range(start, end, [step])
函数返回类型是ndarray
,可用list()
返回一个整数列表,一般用在 for
循环中。
参数:
start
:计数从start
开始,默认是从0
开始,例如range(5)
等价于range(0,5)
;end
:计数到end
结束,但不包括end
。例如:range(0, 5)
是[0, 1, 2, 3, 4]
没有5
step
:步长,默认为1
。例如:range(0, 5)
等价于range(0, 5, 1)
用法实例:
1 | item_list = ['a', 'b', 'c', 'd', 'a'] |
注意:按顺序输出。
2.5 倒序遍历
2.5.1 reversed函数
1 | item_list = ['a', 'b', 'c', 'd', 'a'] |
2.5.2 range()函数
1 | item_list = ['a', 'b', 'c', 'd', 'a'] |
2.5.3 切片
1 | item_list = ['a', 'b', 'c', 'd', 'a'] |