2024-04-20 05:40:49 发布
网友
假设您有一个包含以下数据类型的字典:
{'abc':'AGCTAC', 'def': 'AGGTAC', 'ghi':'AGGTAG'}
我希望能够运行一个函数,显示每个位置的值,例如
(('A','A','A'),('G','G','G'),('C','G','G'))
然后能够运行一个计数器,如人们建议的集合计数器。你知道吗
>>> d = {'abc':'AGCTAC', 'def': 'AGGTAC', 'ghi':'AGGTAG'} >>> zip(*d.values()) [('A', 'A', 'A'), ('G', 'G', 'G'), ('C', 'G', 'G'), ('T', 'T', 'T'), ('A', 'A', 'A'), ('C', 'G', 'C')]
记住dict是无序的,所以元组中的元素可能以不同的顺序出现。但是,所有元组的顺序都是相同的
在Python3中,zip返回一个“zip对象”,因此您需要在它周围tuple()
tuple()
>>> tuple(zip(*d.values())) (('A', 'A', 'A'), ('G', 'G', 'G'), ('C', 'G', 'G'), ('T', 'T', 'T'), ('A', 'A', 'A'), ('C', 'G', 'C'))
如果不需要中间元组,只需传递到Counter
Counter
>>> from collections import Counter >>> Counter(zip(*d.values())) Counter({('A', 'A', 'A'): 2, ('C', 'G', 'G'): 1, ('G', 'G', 'G'): 1, ('T', 'T', 'T'): 1, ('C', 'G', 'C'): 1})
记住dict是无序的,所以元组中的元素可能以不同的顺序出现。但是,所有元组的顺序都是相同的
在Python3中,zip返回一个“zip对象”,因此您需要在它周围
tuple()
如果不需要中间元组,只需传递到
Counter
相关问题 更多 >
编程相关推荐