为什么...在...中没有在这个列表中工作?

时间:2015-08-05 04:45:44

标签: python list for-loop

mylist = [1, 2, 34, j]
for x in mylist:
    if type(x) == int:
        print "Number:", x
    elif type(x) == str:
        print "Word:", x
    else:
        raise Error

此代码无效 - NameError:' j'没有定义。

为什么语句for... in...不能处理包含整数和字符串的列表?

2 个答案:

答案 0 :(得分:1)

因为您尚未定义任何变量j,但您尝试在mylist中使用它。它不是for..in不起作用,问题就在于此之前,您正在定义列表。您希望将'j'(引号)用于字符串,而不是j。示例 -

mylist = [1, 2, 34, 'j']
for x in mylist:
    if type(x) == int:
        print "Number:", x
    elif type(x) == str:
        print "Word:", x
    else:
        raise Error

答案 1 :(得分:1)

怎么样?

mylist = [1, 2, 34, "j"]