如何在 Python 中使用列表理解来做到这一点?

问题描述 投票:0回答:1

我有一个元组列表,我想使用字典将其转换为整数,我认为这可以在一行中完成 但无法弄清楚,我改为使用显式 for 循环,有人知道怎么做吗?

edge_list=[('D','G'),('E','D'),('E','G'),
           ('C','E'),('B','D'),('A','C'),('A','B'),('C','D'),('G','F')]

map={'A':1,'B':2,'C':3,'D':4,'E':5,'F':6,'G':7}

int_edges=[]

for edge in edge_list:
    new_pair=[]
    for val in edge:
        new_pair.append(map[val])
    int_edges.append(new_pair)

#result (int_edges=[[4, 7], [5, 4], [5, 7], [3, 5], [2, 4], [1, 3], [1, 2], [3, 4], [7, 6]])
python list list-comprehension
1个回答
0
投票

您可以使用简单的列表理解

int_edges = [(map[a], map[b]) for a, b in edge_list]
© www.soinside.com 2019 - 2024. All rights reserved.