python笔记:python中的for循环总结(enumerate())

目录

1、可以明确循环的次数

2、iteratle_object(可迭代对象)

3、enumerate()使用方法为

4、补充:统计文件行数可以这样写:


python笔记:python中的for循环总结(enumerate())_第1张图片

1、可以明确循环的次数

  • 遍历一个数据集内的成员
  • 在列表解析中使用
  • 生成器表达式中使用

2、iteratle_object(可迭代对象)

  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)
  • File(文件)

注意字符串就是一个iterable_object,

s='python'
fon c in s:
    print(c)

#输出 
p
y
t
h
o
n

range()返回的也是iterable_object,

for i in range(3,11,2)
    print(i,end=' ')

#输出 
3 5 7 9 

3、enumerate()使用方法为

enumerate()(单词意思是枚举的意思)是python中的内置函数,

enumerate(X,[start=0])

函数中的参数X可以是一个迭代器(iterator)或者是一个序列

            start是起始计数值,默认从0开始。
X可以是一个字典。(注意观察下面的输出结果)

a = {1: 1, 2: 2, 3: 3}
for i , item in enumerate(a):
    print (i, item)

Output:
0 1
1 2
2 3
b=[1,2,3,4,5,6]
for i,item in enumerate(b):
    print (i, item)

Output:
0 1
1 2
2 3
3 4
4 5
5 6

下面是把start设置为10,输出结果下标将是从10开始,不再是默认的0.

b = [1,2,3,4,5,6]
for i,item in enumerate(b, start=10):
    print(i,item)

Output:
10 1
11 2
12 3
13 4
14 5
15 6

4、补充:统计文件行数可以这样写:

count=len(open(filepath,'r').readlines())

这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。

可以利用enumerate():

count=0
for index,line in enumerate(open(filepath,'r')):
    count+=1

4、python zip()方法

  • zip函数的原型为:zip([iterable, …])
  • 参数iterable为可迭代的对象,并且可以有多个参数。该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
print(list(xyz))

#结果:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

Process finished with exit code 0
x = ["id", "name", "age"]
y = [3306,"dh",18]
xy = zip(x, y)  
print(list(xy))

#结果:
[('id', 3306), ('name', 'dh'), ('age', 18)]

Process finished with exit code 0

 

你可能感兴趣的:(Machine,Learning,Python)