Sha*_*ars 0 python set python-2.7
编辑:谢谢.我假设集合是有序的,因为输出几乎按字母顺序排列.但是,我想要一个有序集.
def create_table(secret):
sec = set(secret)
alpha = set("abcdefghiklmnopqrstuvwxyz")
bet = alpha - sec
newSecret = secret & bet
print newSecret
OUTPUT: set(['A', 'C', 'B', 'E', 'D', 'G', 'F', 'I', 'H', 'K', 'M', 'L', 'O', 'N', 'Q', 'P', 'S', 'R', 'U', 'T', 'W', 'V', 'Y', 'X', 'Z'])
Run Code Online (Sandbox Code Playgroud)
如何创建有序集?
示例:如果我取字符串"mathics"和字符串"abcdefghiklmnopqrstuvwxyz",基本上新字符串应该是"MATHEICSBDFGKLNOPQRUVWXYZ"(假设我的代码大写字符串).这个字符串中没有'J',所以它不是拼写错误.
我正在尝试从变量'secret'中获取唯一字符,并从变量'alpha'中获取唯一字符,并从两者中获取有序的唯一字符.
Python没有OrderedSet; 通常我们假装它OrderedDict.
例如:
>>> from collections import OrderedDict
>>> s = "mathematics"
>>> alpha = "abcdefghiklmnopqrstuvwxyz"
>>> d = OrderedDict.fromkeys(s+alpha)
>>> d
OrderedDict([('m', None), ('a', None), ('t', None), ('h', None), ('e', None), ('i', None), ('c', None), ('s', None), ('b', None), ('d', None), ('f', None), ('g', None), ('k', None), ('l', None), ('n', None), ('o', None), ('p', None), ('q', None), ('r', None), ('u', None), ('v', None), ('w', None), ('x', None), ('y', None), ('z', None)])
>>> ''.join(d)
'matheicsbdfgklnopqruvwxyz'
Run Code Online (Sandbox Code Playgroud)
这并不是一件OrderedSet好事,但往往足够接近政府工作.