关于生成式的编程

来源:3-18 编程练习

为学习而奋斗

2019-11-28 20:05:01

老师我想问一下,这一题是为什么是这样做出来的?还有range它只能是用来int类型的输出,那对于第一个lst它为什么不能使用range(lst)?是因为后面的数赋值给lst这个变量之后那输出的结果就相当于一个字符串一样的列表吗?所以不能使用range是吗?若要使用就要将他转成len()这个是吗?http://img.mukewang.com/climg/5ddfb7b9099d195013100579.jpg

写回答

1回答

好帮手乔木

2019-11-29

同学你好:

同学的理解是错误的。

这是根据列表的索引来获取列表的元素,再根据元素来判断是否是奇偶数。

同学需要知道range方法的用法以及运行传入参数的类型。

range(start, stop[, step])

参数说明(所有的参数int类型):

start: 计数从 start 开始。默认是从 0 开始。

stop: 计数到 stop 结束,但不包括 stop(左闭右开)。

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

len(lst)获取的是列表的长度,类型为int类型。列表的索引范围正好是0——len(lst)-1。

使用range方法:range(0,len(lst))【左闭右开】

关于列表生成式扩展开后:

lst1 = []
for i in range(0,len(lst)):
    if lst[i]%2 !=0:
        lst1.append(lst[i])

如果我解决了同学的问题,请采纳!学习愉快^_^。


0

0 学习 · 8160 问题

查看课程