我正在尝试从字母表中创建一组字母,但我不确定代码为什么不起作用。 Python给我一个错误,说“未定义全局名称'a'。”有任何想法吗?提前谢谢。
s = set()
s = {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}
答案 0 :(得分:11)
a
,b
,......本身不是字符串,而是名称。 Python字符串必须用单引号('a'
),双引号("a"
)或三引号("""a"""
或'''a'''
)括起来。因此,您的代码的正确版本将是:
# s = set() - this is useless, the next line is already creating a set
s = {'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'}
话虽如此,更简洁的方法是使用Python的内置set和string.ascii_lowercase,如下所示:
import string
s = set(string.ascii_lowercase)
答案 1 :(得分:3)
试试这个
import string
s = set(string.lowercase)
答案 2 :(得分:2)
@lenik答案是最好的,但要记住,每个字符串也是一个可迭代的序列,可以传递给set()
。因此,您可以只使用单字母文字列表:
letters = set("abcdefghijklmnopqrstuwxyz")