簡體   English   中英

在列表中存儲整數集合

[英]Storing a collection of integers in a list

我有一個包含RNA基本字母的列表和一個字典,可以將它們轉換為數字值。 我想要做的是將這些數值存儲到一個新的列表中。 我有:

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,但我需要以某種方式將它們存儲在列表中。 我想做的事情如下:

RNA_integer_list = []
for i in RNA_integers:
    RNA_integer_list = RNA_integer_list + i

但是這會導致錯誤,因為for循環不能遍歷整數。 我是Python的新手,所以我不知道如何處理這個問題。 如果有其他人可以幫助我,我真的很感激!

你可以做

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

產量

[3, 4, 1, 2]

或者使用列表理解

RNA_integers = [RNA_dictionary[i] for i in RNA_list if i in RNA_dictionary]

或者您可以使用map

map(RNA_dictionary.get, RNA_list)

你可以簡單地做:

RNA_dictionary.values()

獲得[1, 3, 2, 4]

編輯 :如果你需要保持值與RNA_list類似的順序,你可以使用列表理解,因為thefourtheye建議:

RNA_integers = [RNA_dictionary[i] for i in RNA_list if i in RNA_dictionary]

你試試這個,

RNA_list = ['C', 'G', 'A', 'U']
RNA_dictionary = {'A': 1, 'U': 2, 'C': 3, 'G': 4}
RNA_integers = []
for i in RNA_list:
    if RNA_dictionary[i]:
        RNA_integers.append (RNA_dictionary[i])

print RNA_integers

out put將是

[3,4,1,2]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM