关于生成式的编程
来源:3-18 编程练习
为学习而奋斗
2019-11-28 20:05:01
老师我想问一下,这一题是为什么是这样做出来的?还有range它只能是用来int类型的输出,那对于第一个lst它为什么不能使用range(lst)?是因为后面的数赋值给lst这个变量之后那输出的结果就相当于一个字符串一样的列表吗?所以不能使用range是吗?若要使用就要将他转成len()这个是吗?
1回答
同学你好:
同学的理解是错误的。
这是根据列表的索引来获取列表的元素,再根据元素来判断是否是奇偶数。
同学需要知道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])
如果我解决了同学的问题,请采纳!学习愉快^_^。
相似问题