首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在列表中存储整数集合

在列表中存储整数集合
EN

Stack Overflow用户
提问于 2013-10-30 09:16:33
回答 4查看 4.8K关注 0票数 4

我有一个包含RNA基本字母的列表和一个将它们转换为数字值的字典。我要做的是将这些数值存储到一个新的列表中。我有:

代码语言:javascript
复制
RNA_list = ['C', 'G', 'A', 'U']
RNA_dictionary = {'A': 1, 'U': 2, 'C': 3, 'G': 4}
for i in RNA_list:
    if i in RNA_dictionary:
        RNA_integers = RNA_dictionary[i]
    else:
        print()

所以RNA_integers是3,4,1,2,但我需要以某种方式将它们存储在一个列表中。我想做一些类似的事情:

代码语言:javascript
复制
RNA_integer_list = []
for i in RNA_integers:
    RNA_integer_list = RNA_integer_list + i

但这会导致错误,因为for循环不能迭代整数。我是Python的新手,所以我不确定如何处理这个问题。如果其他人能帮助我,我将不胜感激!

EN

回答 4

Stack Overflow用户

发布于 2013-10-30 09:18:02

你可以做到

代码语言:javascript
复制
RNA_list = ['C', 'G', 'A', 'U']
RNA_dictionary = {'A': 1, 'U': 2, 'C': 3, 'G': 4}
RNA_integers = []
for i in RNA_list:
    if i in RNA_dictionary:
        RNA_integers.append (RNA_dictionary[i])

print RNA_integers

输出

代码语言:javascript
复制
[3, 4, 1, 2]

或者使用list comprehension

代码语言:javascript
复制
RNA_integers = [RNA_dictionary[i] for i in RNA_list if i in RNA_dictionary]
票数 5
EN

Stack Overflow用户

发布于 2013-10-30 10:10:06

或者,您可以使用map

map(RNA_dictionary.get, RNA_list)

票数 3
EN

Stack Overflow用户

发布于 2013-10-30 09:52:08

您可以简单地这样做:

代码语言:javascript
复制
RNA_dictionary.values()

获取[1, 3, 2, 4]

编辑:如果您需要保持与RNA_list类似的值顺序,您可以按照thefourtheye的建议使用列表理解:

代码语言:javascript
复制
RNA_integers = [RNA_dictionary[i] for i in RNA_list if i in RNA_dictionary]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19672101

复制
相关文章

相似问题

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