+-

你可能会看到很多这类问题,但我的要求却不同.
假设我有一个词典d = {‘1’:’stack’,’2’:’over’,’3’:’flow’},我想制作一个像t =(‘1′,’stack’这样的元组’,’2′,’over’,’3′,’flow’)
最简单的方法是什么?
最佳答案
您可以使用
itertools.chain.请注意,此元组将不具有可重现的顺序,因为字典没有一个:
In [1]: d = {'1': 'stack', '2': 'over', '3': 'flow'}
In [2]: from itertools import chain
In [3]: tuple(chain.from_iterable(d.items()))
Out[3]: ('1', 'stack', '3', 'flow', '2', 'over')
在Python 2.x中,您可以使用d.iteritems()而不是d.items().
编辑:正如EdChum在评论中注释,您可以通过对项目进行排序来确保订单.但请注意,默认情况下,字符串按字典顺序排序:
In [4]: sorted(['2', '10'])
Out[4]: ['10', '2']
您可以通过为sorted排序提供key参数来覆盖它:
In [5]: key = lambda i: (int(i[0]), i[1])
In [6]: tuple(chain.from_iterable(sorted(d.items(), key=key)))
Out[6]: ('1', 'stack', '2', 'over', '3', 'flow')
点击查看更多相关文章
转载注明原文:如何在python中将字典转换为元组? - 乐贴网