请稍候,加载中....

for遍历语句

for....in....用于遍历一个对象所有的成员,比如列表中的每一项, 字符串中的每一个字符

for语句结构

# 基本结构
# for ... in ...:
#     pass
# else:
#     pass

遍历字符串

for i in "string":
    print(i)
# 依次输出 s t r i n g 每个字符

遍历列表

lists = ["apple", "banana", "orange"]
for i in lists:
    print(i)
# 输出 apple banana orange

# 遍历列表时,同时输出索引值
for index, value in enumerate(lists):
    print(index,"=>", value)

遍历集合

sets = {1,2,3}
for i in sets:
    print(i)

# 输出 1 2 3

字典遍历

dicts = {"a": 10, "b": 20, "c": 30}
for item in dicts.items():
    print(item)

for语句注意事项

1. 与if语句一样,需要使用:结尾

for i in "string":

2. 与if语句一样,通过缩进来区分语句层级

3. 不要在循环过程修改遍历对象

# 在循环中修改遍历对象存在的问题
# 小明同学写了一个文件处理代码
# 将列表中的文件拷贝到另一个目录
file_lists = ["a.txt", "b.txt", "c.txt", "d.txt", "e.txt"]
for file_path in file_lists:
    # 省略拷贝过程
    print(file_path)
    # 拷贝完成后,将文件路径从列表中删除
    file_lists.remove(file_path)

# 错误分析,由于小明在遍历过程中修改了file_lists
# 因此实际上会有一部分文件没有完成拷贝,造成文件迁移失败
# 正确做法, 通过切片复制为一个新的列表
copy_lists = file_lists[:]
for file_path in copy_lists:
    print(file_path)
    file_lists.remove(file_path)

for... in ... else ... 结构

这里的else只要遍历完了就会执行,而不是遍历不成功

# for 语句遍历完成后,可以使用else来执行一个表示遍历完成的语句
articles = ["artile1","article2"]
for article in articles:
    print(article)
else:
    print("文章遍历完成")

for语句嵌套

for语句的循环部分可以嵌套其他语句,比如嵌套if,while语句

# for语句嵌套示例
# 嵌套一个if语句输出偶数
lists = [1, 2, 3, 4, 5, 6] 
for i in lists:
    if i % 2 == 0:
         print(i)

# 嵌套循环
# for循环可以嵌套在另一个for循环里
# 首先循环外部for,然后循环嵌套for,嵌套for循环结束后,再次循环外部for,接着循环嵌套for
# 如此重复外部循环结束
# 举例 有两个列表,输出两个列表中相等的元素
lists_1 = [1,3,4,5,7,9]
lists_2 = [1,4,7,9]

for i in lists_1:
    print("i=", i)
    print("lists_2开始循环")
    for j in lists_2:
        if i == j:
            print("i 与 j相等=", i)
        else:
            print("i=", i, " j=",j)
    print("lists_2循环结束")
    print("*"*30)
    print("lists_1循环下一个")

for语句练习

# 使用for语句打印九九乘法表
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
...
1 * 9 = 9 2 * 9 ...                9 * 9 = 81

# 使用for语句打印如下图形
      #
     # #
    # # #
   # # # #

Python学习手册-