加强训练基础
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加强训练基础相关的知识,希望对你有一定的参考价值。
练习题目:
1.生成一个[[1,2,3],[4,5,6]....]的列表最大值在100以内
numbers = [(x,y,z) for x in range(1,100,3) for y in range(x+1,x+2,2) for z in range(x+2,x+3,2)] print(numbers)
这题比较简单,注意好变量的间隔就Ok了,当然,一开始我没有处理变量的时候,产生了100w个数据。
2.请写出一段 Python 代码实现分组一个 list 里面的元素,比如 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....]
list_100 = [x for x in range(1,101)]
print(list_100)
list_100_temp = []
for i in list_100:
if(i%3==0):
list_100_temp.append([list_100[i-3],list_100[i-2],list_100[i-1]])
elif(i==len(list_100)):
if i%3 == 1:
list_100_temp.append((list_100[i-1]))
else:
list_100_temp.append([list_100[i - 2],list_100[i - 1]])
list_100 = list_100_temp
print(list_100)
def extendlist(val,list=[]): list.append(val) return list list1 = extendlist(10) list2 = extendlist(123,[1,2,3]) list3 = extendlist(‘a‘) list4 = extendlist(‘a‘,[2,3]) print(list1) print(list2) print(list3) print(list4)
Amazing,我完全没想到list1和list3会输出同一个结果,这说明了什么?它们指向的内存地址是一致的。我觉得是如果传参的时候,这种引用类型的,如果缺省传参的话,会导致同一个引用。
告一小段落了。。Python基础部分差不多解决了。
以上是关于加强训练基础的主要内容,如果未能解决你的问题,请参考以下文章