python - 将值附加到列表列表
问题描述
这是我要实现的目标的模拟示例:
我最初有一个大小为 5 的空列表列表:
l = [[] for _ in range(5)]
然后,在进行 4 次迭代的 for 循环中,我有一个返回索引列表的函数。我想将“t”附加到具有这些索引的列表中。
就像是:
for t in range(4):
idx = function_that_gives_indexes()
l[idx].append(t)
假设function_that_gives_indexes()
,为每个循环提供这些值:[1], [2, 4], [] and [0, 1]
。我想l
成为:
l = [[3], [0, 3], [1], [], [1]]
这样做的最pythonic方式是什么?
解决方案
由于您的函数每次都返回一个列表,因此您更正的代码片段类似于
for t in range(4):
for idx in function_that_gives_indexes():
l[idx].append(t)
尝试使它更 Pythonic 看起来并不乐观。
推荐阅读
- python - Plotly:如何格式化文本(下划线、粗体、斜体)
- android - Flutter - 当应用程序在后台时调用 Firebase onMessage 方法
- c# - AsyncLocal 持有一个堆栈 - 看似可靠的代码会抛出“堆栈为空”。为什么?
- powershell - 将字符串与数组中的特定数字匹配
- azure - 流分析 UDF 在测试中有效,但在作业中无效
- amazon-web-services - 将 AWS Lambda 与 Aurora Serverless 相结合
- python - 如何对包含许多字典和列表的python列表进行递归排序?
- spring - Spring Boot 2.1.7RELEASE-NoUniqueBeanDefinitionException
- powershell - Azure Devops 服务器密码变量参数到 powershell
- virtualbox - 如何在特定网络上启动 minikube