我有一个包含核苷酸值的字符串。我想用0和1标记这串上的所有核苷酸。在这里,A/G/C/T值可以在任何位置。
例如
str = 'AGCTAGG'
,我想在这个字符串上保留一个额外的值,我可以稍后更改。
初始值为0:
new-str = {A:0,G:0,C:0,T:0,A:0,G:0,G:0}
之后我想给我想要的核苷酸赋1
new-str = {A:1,G:0,C:1,T:0,A:0,G:1,G:0}
字母将按照字符串中的顺序排列。
我在这里可以使用的最佳方法是什么?
默认字典也没有给我想要的。
dict
defaultdict
hashmap
将标记放在与字符串长度相同的单独列表中。如果你想把标记和字符串放在一起,你可以把它们做成一个对象,或者用更少的模板,一个命名元组(namedtuple),但本质上你希望它们是两个独立的东西。
如果你想遍历带有标记的基因,使用zip:
for gn, mk in zip(genes, marks):
# do something with gn amd mk
就我个人而言,我会使用True和False而不是0或1。但这是一个小细节。