初学循环的时候遇到一作业题:已有列表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)
|
|