python for循环遍历及列表推导式

博客介绍了Python的for循环,其抽象程度高于C的for循环,可作用于多种可迭代对象,如dict。还提到用enumerate函数可在for循环中同时迭代索引和元素。此外,介绍了列表推导式,它是Python内置用于创建list的强大生成式。

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

Python的for循环抽象程度要高于C的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代。
遍历列表:
list:
l = []
l = [1,2,3]

from collections import Iterable

 list1 = range(10)
 if isinstance(list1,Iterable):
     for i in list1:
          print(i)

如果要对list实现类似Java那样的下标循环怎么办?Python内置的enumerate函数可以把一个list变成"索引-元素对",这样就可以在for循环中同时迭代索引和元素本身:

 l = list(list1)
 for i,value in enumerate(l):
        print(i,value)

===================================================================================
遍历字典:
dict:
d = {‘key1’ : value1, ‘key2’ : value2 }

	dict1 = {'a':100,'b':200,'c':300}
    for key,value in dict1.items():
        print(key,'==' , value)

    for key in dict1.keys():
        print(key,'==',dict1[key])

    for value in dict1.values():
        print(value)

列表推导式:
是Python内置的非常简单却强大的可以用来创建list的生成式。
生成list 可以用内置函数range(1,10) 生成[1,2,3,4,5,6,7,8,9]
但是如果是子项*子项的列表呢?如下:

new_list = []
    for i in range(1,10):
        ii = i * i
        new_list.append(ii)

    print(new_list)

这种代码比较多,优化一下,可以这样操作:

	new_list2 = [x * x for x in range(1,10)]
    print(new_list2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值