我得到了这个代表数学多项式的字典:
{'x1': 2, 'x0': 1, 'x3': 3}
我想将其转换为列表(但它们可以是随机顺序,或者没有零成员):
{'x1': 2, 'x0': 1, 'x3': 3}
到
[1,2,0,3]
答案 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'之后的数字对列表进行排序。在关键术语中。并输出按键排序的值。