2、python全栈之路拾遗

二、拾遗

1、循环

forwhile

1.1 range

range(0,10):正序,从下标0到下标9的范围

range(10,-1,-1):倒序,从下标10到下标0

 

1.2 break

跳出本层循环

 

1.3 continue

跳出本次循环

 

2else

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)

3python2python3的区别

3.1 输入

raw_input()

input()

3.2 范围

py3range()惰性运算,不打印不出来,py2中不打印也出来

xrange()只在py2中有,和py3中的range()功能一样

3.3 默认字符编码

ascii(#-*-encoding:utf-8 -*-)

utf-8

3.4 输出

print "alex"

print('alex')

3.5 除法

/

py3是精确到小数取整是//

py2是整除

4orand

orand:判断顺序 只要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)

原文地址:https://www.cnblogs.com/xiaojinyu/p/7464767.html