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

本文详细介绍了Python中for-in循环的用法,包括遍历范围、列表和字典。在遍历范围内,展示了计算阶乘的例子;在遍历列表时,讲解了如何计算数值元素的总和和平均值;在遍历字典部分,解释了如何利用items(), keys(), values()方法统计列表元素出现的次数。文中还提到了isinstance()函数用于判断变量类型。" 113721071,10535724,Python计算字符串平均值并按字典序排列,"['Python编程', '字符串操作', '算法', '排序']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语法格式: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
### 回答1: 列表Python中最常用的数据类型之一,它可以存储多个元素,这些元素可以是不同的数据类型,如整数、浮点数、字符串等。列表使用方括号 [] 来表示,元素之间用逗号隔开。 例如,下面是一个包含整数、浮点数和字符串的列表: ``` my_list = [1, 2.5, "hello"] ``` 列表中的元素可以通过索引访问,索引从开始,例如: ``` print(my_list[]) # 输出 1 print(my_list[2]) # 输出 "hello" ``` 列表还支持切片操作,可以通过切片获取列表的子集,例如: ``` print(my_list[1:]) # 输出 [2.5, "hello"] ``` 列表是可变的,可以通过索引或切片修改列表中的元素,也可以使用 append() 方法向列表末尾添加新元素,例如: ``` my_list[] = 3 my_list.append("world") print(my_list) # 输出 [3, 2.5, "hello", "world"] ``` 除了 append() 方法,列表还支持 insert()、remove()、pop() 等方法,可以对列表进行增删改查操作。 ### 回答2: Python中的列表是一种非常常用的数据结构,是一组有序的元素集合,可以通过索引来访问其中的元素。列表可以包含多种类型的数据,包括数字、字符串、列表等等,且可以根据需要动态地添加、删除、修改其中的元素。在Python中,列表的创建方式非常简单,只需要用一组方括号将其中的元素括起来即可。 可以使用列表的索引来获取其中的元素。在Python中,列表的索引从0开始,即第一个元素的索引为0,第二个元素的索引为1,以此类推。要访问列表中的最后一个元素,可以使用-1作为索引,-2表示倒数第二个元素,依此类推。 列表元素的访问、添加、删除、修改、排序等操作属于Python基础知识,这里简单介绍其中几个: 1.访问列表元素:可以使用索引号来访问列表元素。例如,list=[1,2,3],要访问第一个元素,可以使用list[0],输出为1。 2.添加元素:可以使用append()方法向列表中添加一个元素,或者使用extend()方法向列表中添加多个元素。例如,list=[1,2,3],要添加一个元素4,可以使用list.append(4);要添加多个元素5,6,7,可以使用list.extend([5,6,7])。 3.删除元素:可以使用del语句或者remove()方法来删除列表中的元素。del语句直接删除列表中指定索引的元素,例如,del list[0]可以删除列表的第一个元素;remove()方法删除第一个匹配的元素,例如,list.remove(2)可以删除列表中的元素2。 4.修改元素:可以使用索引号来修改列表中的元素,例如,list[1]=5可以将列表中第二个元素修改为5。 5.排序:可以使用sort()方法对列表进行排序,默认是升序排列,也可以指定reverse=True来进行降序排列。 以上是Python列表的基本操作,熟练掌握这些操作,可以更好地使用列表进行各种计算和数据处理。 ### 回答3: 在Python中,列表(List)是一种非常常用的数据类型,它允许我们将一组数据放在一个容器中,方便进行操作和处理。列表可以在定义时直接初始化,也可以通过append()、insert()等方法动态地添加或删除元素。 列表的索引从0开始,可以通过正、负整数来访问其中的元素。同时,列表支持切片操作,可以对其中的子序列进行访问和操作。 除了常规的访问和添加操作,列表还提供了一些其他的方法,例如sort()可以对列表进行排序,reverse()可以将列表翻转,count()可以统计某个元素的出现次数等等。 另外,列表还支持循环遍历,可以使用for-in语句来遍历其中的元素。此外,列表也可以被用作其他数据结构的实现,例如栈、队列等等。 总的来说,列表Python中一个非常灵活和强大的数据类型,可以用于各种场景下的数据处理和操作。但是需要注意,由于列表是可变的,因此在多线程、多进程等并发环境中需要考虑线程安全的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值