我得打印字典(邻接表):
{'ACATG':{'CATGA', 'CATGT'}, 'TGATT':{'GATTA'}, 'GGGAT':{'GGATC',
'GGATA'}}
这样:
ACATG -> CATGA, CATGT
TGATT -> GATTA
GGGAT -> GGATC, GGATA
并将其存储到.txt文件中
我试着这样打印:
di = {'ACATG':{'CATGA', 'CATGT'}, 'TGATT':{'GATTA'}, 'GGGAT':{'GGATC',
'GGATA'}}
for v,u in di.items():
print(v+' -> ', end="")
li = []
for g in u:
li.append(g)
print(g,end='')
print(',',end='')
print('')
但在每一组的末尾都有一个额外的逗号:
ACATG -> CATGA,CATGT,
TGATT -> GATTA,
GGGAT -> GGATC,GGATA,
而且代码太长了,而且不是pythonic。我也想 将打印输出存储到文件中
这是一条单行线:
输出:
print中的
*
解压我们将要创建的列表。引号前的f
表示它是一个格式字符串文本k
将是字典中的每个键,我们使用', '.join(v)
在每个元素之间放置逗号和空格sep="\n"
在每个元素之间打印新行您可以这样做:
我在这里使用
sorted
来强制确定顺序,因为set
的(比如{'CATGA', 'CATGT'}
)不是有序的,所以每次运行脚本时都可以得到一个具有相同数据的新顺序此外,在python3.6之前,字典(比如
di
)也是无序的,因此您应该确保您的脚本运行在最新版本的Python上(为了安全起见),或者使用collections.OrderedDict
强制字典元素的特定顺序非常类似于@ForceBru,但是在一个函数中,所以您可以根据需要传递文件。将其保留为默认值将写入
stdout
,或者您可以这样做,例如:相关问题 更多 >
编程相关推荐