A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

初学循环的时候遇到一作业题:已有列表nums=[11,22,33,44,55],分别使用 while 或者 for 循环遍历列表,并将每一个数字加 10 ,打印最终的列表。
用while循环实现:
nums=[11,22,33,44,55]
i = 0
while i <= len(nums):
    num = nums + 10
    i += 1
print(nums)

用for循环实现:
nums=[11,22,33,44,55]
num1 = []
for i in nums:
    num1.append(i + 10)
print(num1)

以上是分别用for和while循环实现列表遍历的操作,但是由于在使用for循环遍历列表的时候需要新建一个空列表来append原列表遍历后+10的值,于是乎便引发了一些思考:如果使用for循环的时候不想开辟一个空列表的时候要如何完成需求呢?
在问过了老师后学会了一个python新的内置函数:enumerate()

api手册上的描述是:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
于是乎,利用for循环且不开辟新的空列表情况下:
nums=[11,22,33,44,55]
for i in enumerate(nums):
    nums = num + 10
    nums[i[0]] = nums[i[0]] + 10
    print(i)
print(nums)


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马