Python NameError

3zz*_*zzy 1 python syntax

list1 = [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]

for item in list1:
    print item
Run Code Online (Sandbox Code Playgroud)

不确定为什么上面的代码会抛出这个错误:

NameError: "name 'a' is not defined"
Run Code Online (Sandbox Code Playgroud)

小智 12

除了正确使用引号外,请勿重新键入字母.

>>> import string
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> L = list(string.ascii_lowercase)
>>> print L
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', ...
>>> help(string)
Run Code Online (Sandbox Code Playgroud)

  • 好吧,一个字符串是可迭代的,所以可以这样做:对于s in string.ascii_lowercase:print(s) (2认同)

Leo*_*Leo 7

你必须把字符串放入(双)引号

list1 = ["a","b","c",...] 
Run Code Online (Sandbox Code Playgroud)

应该管用