创建二进制字符串列表(Python)
我有一个有向多重图,我想用一个表示每个节点坐标的二进制字符串来标识节点。创建二进制字符串列表(Python),python,list,binary,Python,List,Binary,我有一个有向多重图,我想用一个表示每个节点坐标的二进制字符串来标识节点。 如何根据多重图的维度建立这些坐标的列表 坐标的顺序也是相关的。第一个数字是零,然后是其中有一个1的所有数字,然后是其中有两个1的所有数字,依此类推。所有这些数字分组都必须按照相反的字典顺序 例如: n = 3 bin_str = [000, 100, 010, 001, 110 101, 011, 111] 有没有聪明的方法可以做到这一点?您可以使用: 也可以使用递归来完成 def bin_list(n):
如何根据多重图的维度建立这些坐标的列表 坐标的顺序也是相关的。第一个数字是零,然后是其中有一个1的所有数字,然后是其中有两个1的所有数字,依此类推。所有这些数字分组都必须按照相反的字典顺序 例如:
n = 3
bin_str = [000, 100, 010, 001, 110 101, 011, 111]
有没有聪明的方法可以做到这一点?您可以使用:
也可以使用递归来完成
def bin_list(n):
if n == 0:
#base case
return ['']
else:
return [i + '0' for i in bin_list(n-1)] + [i + '1' for i in bin_list(n-1)]
哇!多好的解决方案啊。谢谢。那也很好。但速度要慢得多。
def bin_list(n):
if n == 0:
#base case
return ['']
else:
return [i + '0' for i in bin_list(n-1)] + [i + '1' for i in bin_list(n-1)]