day2 part1 for循环 if-elif-else语句

1 列表的遍历,

for  key in listName :
  	print(key)

看起来简单明了,就是不知道这个和JavaScript的foreach的核心算法是否一致,反正效率应该是比普通的for循环要高的,Python里面提供一种容易理解的键对 即单数对复数的形式 比如 for cat in cats:,但是有个问题是这样的 遇到不可数名词就只能强行给他加s了.还有个事就是昨天提到的Python之禅 毕竟Python这东西都没有大括号的 所以缩进成为唯一可以识别代码的表示,需要用到循环的记得一定要 加table,如果不加 那么得到的就是循环完成以后最后一个值。
2 rang[0,10) 排序函数 这个是一个左开右闭的函数,可以生成一串有序的数字列表 当然也可以直接简写为range(10),默认从0开始执行,如果要产生一个某条件的列表可以用下面的代码执行

list_one =  []
for key in range(10):
	num =  (key+1)**2
	list_one.append(num)
print(list_one)

list_one =  []
for key in range(1,11):
	num =  key**2
	list_one.append(num)
print(list_one)

上面两段代码效果一直,考虑到第一种方法可能会占用更多的运算内存,推荐使用第二种,也就是如果你的列表需要从1开始,最好在range()里面写清楚,这样也更容易理解,当然了 还有一种简单的写法

list_one = [ key**2 for key in range(1,11)]
  #前面是列表需要满足的条件 后面是执行循环的range值域

3 当然了 笔试的时候其他语言可能会有题目问问你 如何写一个确认某数组中的最大值之类的题目,
大致可以这样实现

function(第一个参数,第二个参数){
	return 第一个参数-第二个参数>0?第一个参数:第二个参数;
}

然后用一个列表循环来进行执行,但是Python的话 提供max() min() 和sum()三个方法 ,给我们写好了,直接拿来用就是了,所以Python的算法题目里大致是不会有求和这种弱智问题的,
day2 part1 for循环 if-elif-else语句
嗯 列表里面的条件貌似并不支持骚操作
列表:╭(╯^╰)╮ 我是认真的 拜托不要给我加两个以上判定条件

list = []
for i in range(1,21):
    if(i%2 == 1):
       list.append(i)
print(list)
好像就只能比较老实的写了   再试试三目运算符

day2 part1 for循环 if-elif-else语句
不晓得是否写错了 貌似不行
4列表的切片
list[左边位置,右边位置]同样的也是左包含,右不包含,不过由于是从第0个开始数的 所以想要切前五个list[:5]就行了 还有一点就是拷贝问题,
day2 part1 for循环 if-elif-else语句
id一样,看起来似乎是浅层拷贝
day2 part1 for循环 if-elif-else语句
经过一番验证以后这种拷贝方法确实是浅层拷贝,意思是改变拷贝的数组以后原数组会跟着改变,双方指向同一个物理地址
当然了 深度克隆也十分简单,直接用切片的方式
即 list2 = list[:]这种就可以直接深度克隆,由于是基础方法 ,所以不存在封装深度克隆的说法 这让我想起了学习JavaScript的深度克隆的不太好的体验,需要进行每一层的判定,然后一串代码封装,直到现在都还需要思考半天才能写出来,
5元组 和数组(列表)类似,用()装起来,只能进行读取的操作,并没有传统意义的增删改查,元祖的目的估计是为了防止有人手贱去修改某些不能修改的元素,
6 pep 8的几点要求 ①缩进采用四个空格 ②每行不超过80字符③其他指南请参考http://python,org/dev/peps.pep-0008/
7 if 语句

if conditional_test:
	do somethiing

这个貌似没有传统意义的括号啊 直接把空格当括号用了。这点有点类似于JavaScript的typeof number这种函数,用空格就可以实现功能 估计是因为括号打起来没有空格快捷
关于in 这种直接可以判定的方法
day2 part1 for循环 if-elif-else语句
每种不足的就是并不知道在列表的哪个位置,不过要是单纯用于判断已经足够了
类似的还有not in 方法,判定是否该元素不存在于列表之中。
if-elif-else

if age<10:
	print("你可以不承担法律责任")
elif<16:
	print("小心点,某些责任可能让你坐牢")
elif<18:
	pass
else:
	pass

手写的时候很容易把 else if写出来 不过问题不大 ,多练习下就好

   for a in objects:
   		if a in objects_2:
   			print("判定两个列表中的相同部分")