python 之 使用 for-in 循环遍历范围,元组,列表,字典

语法格式:for 变量 in 范围 | 元素 | 集合等:
for循环语法结构列如序列或迭代器作为其参数每次迭代其中一个元素。 与while循环一样,支持break,continue,else语句。 一般情况下,循环次数未知采用while循环,循环次数已知采用for。

一、循环遍历范围

举例:计算指定整数的阶乘

s_max = input (“输入您想要计算阶乘的数字“”:)
max = int(s_max)
for i in range(1,max+1):
	result *= i
print (result)
	
  1. for-in 循环中的变量的值受 for-in 循环控制,该变量将会在每次循环开始时 自动被赋值 ,因此程序不应该在循环中对该变量赋值。
  2. for-in 循环可用于遍历任何可选代对象。所谓 可迭代对象 ,就是指该对象中包含一个 —iter—方法,且该方法的返回值对象具有 next() 方法。
  3. 假如用户输入 7,此时程序将会构建一个 range(1,8) 对象(不包含 8

二、循环遍历列表

举例:计算列表中所有数值元素的总和、平均值

src_list = [1,22.5,3,45,'ab',78,2]
sum = 0
count = 0
for ele in src_list:
    if isinstance(ele, int) or isinstance(ele, float):            # 如果该元素是整数或浮点数
        print(ele)
		sum += ele
		count += 1
print('总和为:',sum)
print('平均值为:',sum / count)
  1. 几何元素进行判断:只有当列表元素是数值(int、float)时,程序才会累加它们
  2. Python 的 isinstance() 函数,该函数用于判断某个变量是否为指定类型的实例,其中前一个参数是要判断的变量,后一个参数是类型
  3. 也可以根据索引来遍历元组或列表
src_list = [1,22.5,3,45,'ab',78,2]
	for ele in range(1,len(src_list))

三、循环遍历字典

使用 for-in 循环遍历字典其实也是通过遍历普通列表来实现的。前面在介绍字典时己经提到,字典包含了如下三个方法:

  1. items():返回字典中所有 key-value 对的列表。
  2. keys():返回字典中所有 key 的列表。
  3. alues():返回字典中所有 value 的列表。

因此,如果要遍历字典,完全可以先调用字典的上面三个方法之一来获取字典的所有 key-value 对、所有 key、所有 value,再进行遍历。如下程序示范了使用 for-in 循环来遍历字典:

举例: 统计列表中各元素出现的次数
由于我们并不清楚列表中包含多少个元素,因此考虑定义一个字典,以列表的元素为 key,该元素出现的次数为 value

src_list = [12, 45, 3.4, 12, 'fkit', 45, 3.4, 'fkit', 45, 3.4]
statistics = {}
for i in src_list:
	if i in statistics:                 # 如果字典中包含ele代表的key,则 i 元素代表出现次数加1
		statistics[i] += 1
	else:                              # 如果字典中不包含i代表的key,说明该元素还未出现过,设为1
		statistics[i] = 1     
for ele, count in statistics.items():                      # 遍历dict,打印出各元素的出现次数
    print("%s的出现次数为:%d" % (ele, count))  

参考:http://c.biancheng.net/view/2225.html

附:
isinstance() 函数:该函数用于判断某个变量是否为指定类型的实例

>>> isinstance(2,int)
True
>>> isinstance('a',int)
False
>>> isinstance('a',str)
True

猜你喜欢

转载自blog.csdn.net/qq_40443457/article/details/87797342