python中遇到错误

1、不能将字典当做key

错误描述:将字典当做key会报如下错误

205133_eTWt_2000675.png

2、字典取值用dic.get(k),少用dic[k]

错误描述:如果我们用dic[k],当这个key不存在的时候会报KeyError,而用get方法则会返回None

205510_m8CH_2000675.png

3、ValueError: too many values to unpack

错误描述:这种错误是变量赋值给另一个变量,变量个数不够造成的。

如:a = [1,2,3,4]

for key ,value in a:

....

这时候就会报这个错

4、UnboundLocalError: local variable 'xxx' referenced b

错误描述:没有变量声明或者是在if判断中赋值

如:

def test(flag):  
    if flag:  
        val = 1  
    else:  
        print 'fuck'  
    return val 

test(0)
错误提示:UnboundLocalError: local variable 'val' referenced before assignment

如果在if中,我们要提前声明

5、ValueError: dictionary update sequence element #0 has length 3; 2 is required

如:

list1 = ['a','b','c']
list2 = [1,2,3]
list3 = zip(list1,list2)
print list3
list4 = []
list4.append(list3)
print  list4
print dict(list3)
print dict(list4)

list3为[('a', 1), ('b', 2), ('c', 3)],list4为[[('a', 1), ('b', 2), ('c', 3)]],这时候dict(list4)就会报错。

6、IndentationError: unindent does not match any outer indentation level

错误描述:代码格式没有对齐

错误提示:IndentationError: unindent does not match any outer indentation level

转载于:https://my.oschina.net/u/2000675/blog/656975

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值