for 循环生成一个 dict, value 是嵌套 list 时,如何 append?

2020-08-27 20:08:37 +08:00
 css3

想要生成这么个结构:

ret = {"a": [[1], [2], [3]]}

用的关键字 setdefault:

ret.setdefault(k, []).append(v)
# 这样生成的结果总是 ret = {"a": [1,2,3]} 如何才能生成上面的类型呢
1751 次点击
所在节点    Python
12 条回复
funcookies
2020-08-27 20:30:28 +08:00
ret.setdefault(k, []).append([v]) 这样吗?
css3
2020-08-27 20:35:00 +08:00
@funcookies 不太行,我的期望的结构写错了😂
纠正一下预期的结构:

ret = {"a": [[1,2],3]}
ss098
2020-08-27 20:35:21 +08:00
>>> ret = {"a": [[1], [2], [3]]}
>>> ret["a"].append([4])
>>> ret
{'a': [[1], [2], [3], [4]]}
ss098
2020-08-27 20:36:54 +08:00
补充之后现有代码和需求更看不懂了,建议重新描述 ...
funcookies
2020-08-27 20:37:51 +08:00
@css3 这有啥规律吗 再加一个是和 3 组成列表吗,还是怎么样
css3
2020-08-27 21:14:06 +08:00
解决了,感谢老哥们,上下文太长,我也没表述清楚😂😂
TimePPT
2020-08-27 21:19:04 +08:00
@css3 建议有问题自己先试试,一天发几个帖子感觉你一直在纠结字典问题。这样问效率低自己理解也不充分,实在搞不定也查不到资料了再集中来发帖求助。帖子把上下文说清楚大家帮你也效率高一些。
css3
2020-08-27 22:55:43 +08:00
@TimePPT 收到了老哥,这两天集中处理数据,确实问了好多😥,菜鸟一个,有时候确实搞不定,实在不没办法才上来求助
no1xsyzy
2020-08-28 13:42:20 +08:00
胶水语言,手撕就行了
别整那些 OO 奇技淫巧。
biglazycat
2020-08-30 13:50:07 +08:00
怎么搞定的?俺也想学学。
css3
2020-09-01 11:56:28 +08:00
@biglazycat
ret.setdefault(k, [[]]).append(v)
biglazycat
2020-09-06 10:32:12 +08:00
厉害

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/702014

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX