Python-使用集合的变通方法

Python-使用集合的变通方法,python,python-3.x,Python,Python 3.x,我试图用集合编写一个代码,该集合接受一个数字的二进制值,并在二进制值前面加上0,这样总位数就是10。 例如— Binary value of 27 is 11011. so the output should be 0000011011. In sets it should give me {1,1,0,1,1} and {0,0,0,0,0,1,1,0,1,1} 但是因为集合会丢弃任何重复的元素,所以我无法存储或添加任何重复的元素。有什么解决办法吗?我不能使用列表。一种方法是使用格式和zfi

我试图用集合编写一个代码,该集合接受一个数字的二进制值,并在二进制值前面加上0,这样总位数就是10。 例如—

Binary value of 27 is 11011.
so the output should be 0000011011.
In sets it should give me {1,1,0,1,1} and {0,0,0,0,0,1,1,0,1,1}

但是因为集合会丢弃任何重复的元素,所以我无法存储或添加任何重复的元素。有什么解决办法吗?我不能使用列表。

一种方法是使用
格式和
zfill

n = 27
print "{0:b}".format(n).zfill(10) # prints "0000011010"
您也可以只使用一种
格式
(尽管阅读起来有点困难)


为什么不使用
str.ljust()
format()
将数字格式化为填充二进制表示形式?在这里,集合绝对是错误的方法。集合不保持顺序。
n = 27
print "{0:010b}".format(n) # prints "0000011010"