for-in 语句循环专门用于遍历范围,列表,元素和字典等可迭代对象。
- 循环中的变量的值受for-in循环控制,该变量将会在每次循环开始时自动被赋值,因此程序不应该在循环中对该变量进行赋值
- for-in循环可用于遍历任何可以迭代对象。所谓可迭代对象,就是指该对象中更包含一个__iter__方法,切该方法的返回值对象next()方法
""" 2 统计列表中每个元素的出现的次数 3 """ 4 list_1 = [1,2,2,23,"fdssf","ww","ww"] 5 dict_1 = {} 6 7 for i in list_1: 8 if i in dict_1: 9 dict_1[i] += 1 10 else: 11 dict_1[i] = 1 12 for key,value in dict_1.items(): 13 print("key: ",key,end = " ") 14 print("value: ",value) 15 print("-"*50) 16 """ 17 实现数字的阶乘 18 """ 19 number = int(input()) 20 result = 1 21 for i in range(1,number+1): 22 result *=i 23 print(result) 24 print("*"*50) 25 """ 26 for-in语句遍历列表 27 """ 28 list_1 = range(1,10) 29 for i in list_1: 30 print(i) 31 print("*"*50) 32 """ 33 for-in语句遍历元组 34 """ 35 tuple_1 = range(1,10) 36 for i in tuple_1: 37 print(i) 38 print("*"*50) 39 """ 40 使用for-in 语句遍历字典 41 字典包含了下面三个方法 42 items():返回字典中所有的key:value键值对 43 keys():返回字典中的键的列表 values():返回字典的所有键值的列表 45 """ 46 my_dict = {"语文":75,"数学":87,"英语":98} 47 for key,value in my_dict.items(): 48 print("key:",key) 49 print("value:",value) 50 print("*"*50) 51 for key in my_dict.keys(): 52 print("key:",key) 53 print("value",my_dict[key]) 54 print("*"*50)
运行结果
key: 1 value: 1
key: 2 value: 2
key: 23 value: 1
key: fdssf value: 1
key: ww value: 2
--------------------------------------------------
4
24
**************************************************
1
2
3
4
5
6
7
8
9
**************************************************
1
2
3
4
5
6
7
8
9
**************************************************
key: 语文
value: 75
key: 数学
value: 87
key: 英语
value: 98
**************************************************
key: 语文
value 75
key: 数学
value 87
key: 英语
value 98
**************************************************