码迷,mamicode.com
首页 > 其他好文 > 详细

加强训练基础

时间:2017-10-10 20:44:31      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:nbsp   pre   for   turn   练习题   个数   类型   class   []   

练习题目:

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

加强训练基础

标签:nbsp   pre   for   turn   练习题   个数   类型   class   []   

原文地址:http://www.cnblogs.com/ke-T3022/p/7647379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!