Python,复制具有不同值的rank 2列表结构

时间:2017-07-04 14:35:22

标签: python list

使用python 3.6

说我有dictionary的{​​{1}}和list结构:

keys

最好的方法是什么?

dictionary = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}

keys = [['a','b'], ['c','d','e']]

谢谢!

2 个答案:

答案 0 :(得分:4)

你可以试试这个:

dictionary = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}

keys = [['a','b'], ['c','d','e']]

new = [[dictionary[b] for b in i] for i in keys]

输出:

[[1, 2], [3, 4, 5]]

答案 1 :(得分:4)

以下是使用<input type="button" (click)="click()">

的替代方法
map

输出:

dictionary = {'a':1, 'b':2, 'c':3, 'd':4, 'e':5}   
keys = [['a','b'], ['c','d','e']]

items = [list(map(dictionary.get, k)) for k in keys]

一个重要的优点是,处理不存在的密钥会更加强大(感谢@ Ev.Kounis!)。

替代ft.Ev Kounis涉及在无钥匙上返回默认值:

[[1, 2], [3, 4, 5]]