我有一个元组列表,我想使用字典将其转换为整数,我认为这可以在一行中完成 但无法弄清楚,我改为使用显式 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]])
您可以使用简单的列表理解:
int_edges = [(map[a], map[b]) for a, b in edge_list]