请教一下Python中将字典数组(dict)转换为固定数组(tuple)的问题

ucdosxp 2014-05-26 09:29:37
例:
a=[{"1":"a","2":"b","3","c"},{"4":"d","5":"e","6","f"},{"7":"g","8":"h","9","i"}]
先需将a(字典型)转换成b(固定数组型)
b=(("a","b","c"),("d","e","f"),("g","h","i"))
如何快速简单的转换,最好无须用循环函数。谢谢各位了!!!
...全文
1387 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
panghuhu250 2014-05-26
  • 打赏
  • 举报
回复
引用 2 楼 ucdosxp 的回复:
呵呵 谢谢了 因为zip可以实现两数组交叉混合,我想是否有函数可以实现分离
还是zip。

In [146]: e = tuple(zip(*sorted(d.items()))[1] for d in a)

In [147]: e
Out[147]: (('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'h', 'i'))

In [148]: a
Out[148]: 
[{'1': 'a', '2': 'b', '3': 'c'},
 {'4': 'd', '5': 'e', '6': 'f'},
 {'7': 'g', '8': 'h', '9': 'i'}]
ucdosxp 2014-05-26
  • 打赏
  • 举报
回复
那如果是这种该如何实现呢 a=[{"1":"a","2":["b","c"]},{"3":"d","4":["e","f"]},{"5":"g","6":["h","i"]}] 先需将a(字典型)转换成b(固定数组型) b=(("a","b","c"),("d","e","f"),("g","h","i"))
ucdosxp 2014-05-26
  • 打赏
  • 举报
回复
呵呵 谢谢了 因为zip可以实现两数组交叉混合,我想是否有函数可以实现分离
The_Third_Wave 2014-05-26
  • 打赏
  • 举报
回复
>>> a=[{"1":"a","2":"b","3":"c"},{"4":"d","5":"e","6":"f"},{"7":"g","8":"h","9":"i"}] >>> for i in range(len(a)): print i 0 1 2 >>> b = [] >>> for i in range(len(a)): b.append(tuple(a[i].values())) >>> b [('a', 'c', 'b'), ('e', 'd', 'f'), ('i', 'h', 'g')] >>> tuple(b) (('a', 'c', 'b'), ('e', 'd', 'f'), ('i', 'h', 'g')) >>> 我暂时还真想不到你这个list嵌套字典,又要全部转为tuple,却每步都要求不使用循环的处理方法。。。

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧