Python dict列出(数学。多项式)

时间:2016-04-10 20:14:28

标签: python list python-3.x dictionary

我得到了这个代表数学多项式的字典:

{'x1': 2, 'x0': 1, 'x3': 3}

我想将其转换为列表(但它们可以是随机顺序,或者没有零成员):

{'x1': 2, 'x0': 1, 'x3': 3}

[1,2,0,3]

2 个答案:

答案 0 :(得分:1)

首先将密钥转换为更多可用的数字:

poly_dict = {int(term[1:]): power for term, power in poly_dict.items()}

这假设每个字词都以x开头,因此可以通过切掉第一个字符即term[1:]来删除它。

然后找到最大功率:

max_power = max(poly_dict.keys())

初始化权力列表,默认为0,每个术语都有一个单元格:

poly_list = [0] * (max_power + 1)

然后填写:

for term, power in poly_dict.items():
    poly_list[term] = power

答案 1 :(得分:0)

试试[x for x,y in dictionary.items().sort(key=lambda x,y: int(x[1:]))] 这会将字典转换为元组列表,并按照' x'之后的数字对列表进行排序。在关键术语中。并输出按键排序的值。