加强训练基础

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基础部分差不多解决了。
















以上是关于加强训练基础的主要内容,如果未能解决你的问题,请参考以下文章

第三周训练赛题解

基础加强

关于课程设计实训体会

Java基础加强——动态代理

JAVA基础加强笔记

Diamond Kinetics:​利用传感器和数据分析技术帮助运动员在新冠肺炎大流行期间加强训练