Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建二进制字符串列表(Python)_Python_List_Binary - Fatal编程技术网

创建二进制字符串列表(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)]