二、拾遗
1、循环
for和while
1.1 range
range(0,10):正序,从下标0到下标9的范围
range(10,-1,-1):倒序,从下标10到下标0
1.2 break
跳出本层循环
1.3 continue
跳出本次循环
2、else
2.1 if中的else
if xxx:
pass
else:
pass
当不满足if条件时,走else条件
2.2 while中的else
while True:
pass
else:
pass
当True变为False时,走else条件
2.3 for中的else条件
当可迭代对象中的元素,被完整循环完毕后执行一次
for item in xxx:
pass
else:
# 当可迭代对象中的元素,被循环完毕后执行一次
pass
dic={
'k1':'v1',
'y2':'v1',
'k11':'v1',
'y3':'v1'
}
while True:
n = 1
for k in dic: # 'k1':'v1', #'y2':'v1', #'k11':'v1'
if 'k' in k:
del dic[k]
break #break终止了循环,所以没有完整循环一遍
else:
# dic元素循环完毕
break
print(dic)
3、python2和python3的区别
3.1 输入
raw_input()
input()
3.2 范围
py3中range()惰性运算,不打印不出来,py2中不打印也出来
xrange()只在py2中有,和py3中的range()功能一样
3.3 默认字符编码
ascii(#-*-encoding:utf-8 -*-)
utf-8
3.4 输出
print "alex"
print('alex')
3.5 除法
/
py3是精确到小数取整是//
py2是整除
4、or和and
or和and:判断顺序 只要or的第一个条件通过不会再判断or后面的条件
5、运算符
5.1 算数运算
5.2 比较运算
5.3 赋值运算
5.4 逻辑运算
5.5 成员运算
5.6 is和==的区别
# is ==的区别
# == 是判断值
# is 是判断值和内存地址 身份运算
6、例题
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key 中,将小于 66 的值保存至第二个key 的值中。
即: {'k1': 大于66 的所有值列表, 'k2': 小于66 的所有值列表}
#方法一:
dic = {'k1':[],'k2':[]}
li = [11,22,33,44,55,66,77,88,99,90]
for i in li:
if i > 66:
dic['k1'].append(i)
else:
dic['k2'].append(i)
print(dic)
#方法二:
li = [11, 22, 33, 44, 55, 66, 77, 88, 99]
dic = {}
# dic = {'k1':[11,]}
# dic = {'k1':[11,22,33,44,55],'k2': [77,88,99]}
for item in li:
if item < 66:
# 11,22,33,44,55
if 'k1' not in dic:
dic['k1'] = [item, ]
else:
dic['k1'].append(item)
elif item > 66:
if 'k2' not in dic:
dic['k2'] = [item, ]
else:
dic['k2'].append(item)
print(dic)