首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:帮助按列组织输出

Python:帮助按列组织输出
EN

Stack Overflow用户
提问于 2014-02-07 08:34:32
回答 2查看 481关注 0票数 0

我已经把程序写下来了。它只是以二进制数字的形式随机列出寄生虫和宿主的“遗传密码”。我所需要的就是帮助组织输出。我希望输出按列显示-例如:

代码语言:javascript
复制
Host     Parasite
  1      [1,0,0,1]          
  2      [1,0,0,1]
  3      ......
  4      .......

以及主机旁边的另一列中的寄生随机数列表

代码语言:javascript
复制
import random
host_genome_length = 10
assert host_genome_length >0
parasite_genome_length = 5
assert parasite_genome_length>0
host_initial_population=10
assert    host_initial_population >=1
parasite_initial_population=2
assert   parasite_initial_population >=0
parasite_initial_chance_1= 0.1
assert   0<= parasite_initial_chance_1 <=1
host_initial_chance_1=0.5
assert   0<= host_initial_chance_1 <=1

hosts=[]
for i  in range(host_initial_population):
    genome= []
    for j in range (host_genome_length):
        if random.random()< host_initial_chance_1:
            genome.append(1)
        else:
            genome.append(0)
    hosts.append(genome)
print "hosts:"
print  hosts

parasites=[]
for i  in range(parasite_initial_population):
    genome= []
    for j in range (parasite_genome_length):
        if random.random()< parasite_initial_chance_1:
            genome.append(1)
        else:
            genome.append(0)
    parasites.append(genome)

for i in range(host_initial_population-parasite_initial_population):
    parasites.append(None)
print "parasites:"
print parasites
EN

回答 2

Stack Overflow用户

发布于 2014-02-07 08:39:50

为此,您可以使用Python的字符串格式化工具。每个括号的:40部分指定字段的宽度应为40个字符:

代码语言:javascript
复制
print "{:40} {:40}".format("Host", "Parasite")
for host, parasite in zip(hosts, parasites):
    print "{:40} {:40}".format(host, parasite)

输出:

代码语言:javascript
复制
Host                                     Parasite                                
[0, 1, 1, 1, 0, 1, 1, 0, 0, 1]           [0, 0, 0, 0, 0]                         
[1, 1, 1, 1, 0, 0, 0, 0, 0, 1]           [0, 0, 0, 0, 0]                         
[1, 0, 1, 0, 1, 0, 1, 0, 1, 1]           None                                    
[0, 1, 0, 0, 0, 1, 1, 1, 0, 1]           None                                    
[0, 0, 0, 0, 0, 0, 1, 0, 1, 1]           None                                    
[1, 1, 1, 1, 0, 1, 1, 0, 0, 1]           None                                    
[1, 1, 1, 0, 1, 0, 1, 1, 1, 0]           None                                    
[1, 0, 0, 1, 1, 1, 0, 0, 0, 1]           None                                    
[0, 0, 1, 1, 0, 1, 0, 0, 1, 1]           None                                    
[1, 1, 1, 0, 1, 0, 0, 1, 0, 1]           None 
票数 2
EN

Stack Overflow用户

发布于 2014-02-07 08:46:38

您可以看看str.format函数。

下面是你可能会想出的一些草图。

代码语言:javascript
复制
print '{:50} {:50}'.format('Host', 'Parasites')

for i in range(max(len(parasites), len(hosts))):
    print '{:50} {:50}'.format(str(i+1) + str(hosts[i]), parasites[i])

以下是代码中该代码片段产生的输出:

代码语言:javascript
复制
Host                                               Parasites                                         
1[1, 0, 0, 1, 0, 1, 1, 1, 1, 1]                    [0, 0, 0, 0, 0]                                   
2[1, 0, 0, 1, 1, 1, 0, 0, 1, 0]                    [0, 0, 0, 0, 0]                                   
3[0, 1, 1, 1, 1, 0, 1, 0, 0, 0]                    None                                              
4[1, 0, 0, 0, 1, 0, 0, 0, 1, 1]                    None                                              
5[0, 1, 0, 1, 0, 1, 0, 0, 1, 0]                    None                                              
6[1, 1, 1, 1, 0, 1, 1, 0, 1, 1]                    None                                              
7[0, 1, 1, 0, 0, 0, 0, 1, 1, 1]                    None                                              
8[0, 0, 1, 0, 0, 1, 0, 0, 1, 1]                    None                                              
9[0, 0, 1, 0, 1, 0, 0, 0, 1, 0]                    None                                              
10[1, 0, 0, 1, 1, 1, 1, 1, 0, 1]                   None          

你可能想把它美化一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21617079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档