如何在Python中命名列表列表?

时间:2016-07-25 10:17:43

标签: python arrays list

我有以下列表清单:

sims1 = [[(2, 0.90452874), (1, 0.83522302), (4, 0.77591574), (0, 0.72705799), (3, 0.52282226)],
         [(3, 0.79298556), (1, 0.78112978), (2, 0.76006395), (0, 0.58570701), (4, 0.40093967)],
         [(2, 0.9549554),  (1, 0.71705657), (0, 0.58731651), (3, 0.43987277), (4, 0.38266104)],
         [(2, 0.96805269), (4, 0.68034023), (1, 0.66391909), (0, 0.64251828), (3, 0.50730866)],
         [(2, 0.84748113), (4, 0.8338449),  (1, 0.61795002), (0, 0.60271078), (3, 0.20899911)]]

我想根据这些字符串命名列表中的每个列表:url = ['a', 'b', 'c', 'd']。例如,

>>> a
[(2, 0.90452874), (1, 0.83522302), (4, 0.77591574), (0, 0.72705799), (3, 0.52282226)]
>>> b 
[(3, 0.79298556), (1, 0.78112978), (2, 0.76006395), (0, 0.58570701), (4, 0.40093967)]

等。那么如何在Python中实现这一目标呢?

2 个答案:

答案 0 :(得分:4)

您可以使用字典:

names = ['a', 'b', 'c', 'd', 'e']
named_sims1 = dict(zip(names, sims1))
print(named_sims1['a'])

如果您想以a代替x.a或x [' a']来访问变量,您可以使用此代码:

exec(",".join(names) + ' = ' + str(sims1)) # ensure same length

但我不确定,如果这是推荐的。

答案 1 :(得分:3)

使用zip()dict()

result = dict(zip(url, sims1))

确保url中的元素是'a'之类的字符串,而不是a之类的变量名,或者url的定义将失败{{1} }}