day 5 笔记

列表 补充:
1.索引为奇数值时候,删除
# 删除列表元素时,会影响列表长度,从而使得索引取值时,容易出现错误。

解法一:利用倒叙,让正在运行的列表不受元素数量减少的影响

li = [11,22,33,44,55,66,77,88,99]
for i in range(len(li)-1,-1,-1) :
    if i%2 == 1:
        del li[i]
print(li)

 

解法二:创建一个新的列表然后将索引为偶数的值添加到新列表,再打印出新列表

v = []
li = [11,22,33,44,55,66,77,88,99]
for i in range(0,len(li)) :
    if i%2 == 0:
        v.append(li[i])
li = v
print(li)

 

2. 切片+步长

li = [11, 22, 33, 44, 66] 
del li[0:4]
del li[0:4:2]
print(li)


tuple 补充:
只有一个元素的时候一定要加逗号。

v = (1)
print(v ,type(v))
#输出结果  1 <class 'int'>
v = (1,)
print(v ,type(v))
#输出结果(1,) <class 'tuple'>

dict 补充
# 易出错点:


题:dic = {'k1':"v1",'k2':'v2'}把key="k1",键值对删除

del dic['k1']

 



题:dic = {'u1':"v1",'k2':'v2','k3':'v3'}把key中存在k,键值对删除

dic = {'u1':"v1",'k2':'v2','k3':'v3'}
# 不要在循环当前字典的过程中,修改当前字典大小
# 错误
for key in dic:
    if 'k' in key:
    del dic[key]
#正确的解法
lis = [] dic = {'u1':"v1",'k2':'v2','k3':'v3'} for i in dic: if "k" in i: #先将存在K的 key放入一个新建的列表里,防止在字典循环时候去修改而报错。 lis.append(i) for v in lis: #将列表的元素列出去,去字典删除对应的key del dic[v] print(dic)

 

bool。补充

——False : 0 None "" [] {} ()

 

# 学会用 变量 True False 进行循环的停止,

用户输入的内容如果包括 li 里面的敏感词汇 就要重新输入:

li = ['夏季',"冬季"]

while True:
    v = False
    content = input("<<<<<")
    for i in li:
        if i in content:
            print("...")
            v = True
            break
#如果 用户输入的content 不包含i,则不会运行上面的if判断。
    if v == False:
        break
print(content)

 

posted @ 2017-08-22 17:22  mendax  阅读(75)  评论(0)    收藏  举报