python - 如何将一个列表转换为具有列表中元素对的新列表的最佳方法?
问题描述
我的问题是将列表转换[1,2,3,4,5]
为[[1, 2], [2, 3], [3, 4], [4, 5]]
.
我解决了它:
a = [1,2,3,4,5]
result = [[e, a[idx + 1]] for idx, e in enumerate(a) if idx + 1 != len(a)]
最好的方法是什么?
解决方案
您可以使用zip
:
L = [1,2,3,4,5]
res = list(zip(L, L[1:]))
这给出了一个元组列表。如果列表列表是严格要求,您可以使用map
:
res = list(map(list, zip(L, L[1:])))
print(res)
[[1, 2], [2, 3], [3, 4], [4, 5]]
有关您的问题的通用解决方案,请参阅滚动或滑动窗口迭代器。
推荐阅读
- c - 为什么这个 c 程序中没有通过测试用例?
- here-api - 调用“https://wse.ls.hereapi.com/2/findsequence.json”时出现“TooManyRequests”错误。这里-api
- powerapps - 如何在powerapps公式栏中链接两个公式?
- wordpress - Aavance 自定义字段无法隐藏我的页面内容编辑器
- html - 容器没有响应“justify-content: space-around”(css、flexbox)
- java - io.prometheus.client.Gauge 是否可用于线程安全计数器
- javascript - 如何在展示广告中显示动态日期
- spring - 使用 @Bean 注释的 SOAP 客户端的动态配置
- prometheus - 格式化 PromQL 值
- c# - LiveCharts 上的自定义类?