在python中创建一个用字母表填充字母的集合

时间:2014-05-19 21:10:42

标签: python

我正在尝试从字母表中创建一组字母,但我不确定代码为什么不起作用。 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}

3 个答案:

答案 0 :(得分:11)

ab,......本身不是字符串,而是名称。 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的内置setstring.ascii_lowercase,如下所示:

import string
s = set(string.ascii_lowercase)

答案 1 :(得分:3)

试试这个

import string
s = set(string.lowercase)

答案 2 :(得分:2)

@lenik答案是最好的,但要记住,每个字符串也是一个可迭代的序列,可以传递给set()。因此,您可以只使用单字母文字列表:

letters = set("abcdefghijklmnopqrstuwxyz")