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

2020 年 8 月 27 日
 css3

想要生成这么个结构:

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

用的关键字 setdefault:

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

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

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

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

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

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

© 2021 V2EX