python-3.x - 如何在列表理解中进行嵌套 for 循环?
问题描述
我为制作列表编写了以下代码。
# in_put = 3,4
# 3 item in each sublist
# total 4 sublist
# out_put = [ [1,2,3] , [4,5,6] , [7,8,9] , [10,11,12] ]
def my_lc(m,n):
out_put = []
temp = []
element =1
for i in range(1,n+1):
for j in range(1,m+1):
temp.append(element)
element += 1
out_put.append(temp.copy())
temp.clear()
return out_put
print(my_lc(3,4))
如何my_lc()
使用列表理解编写函数?
解决方案
这应该工作:
def my_lc(m, n):
return [list(range(m * i + 1, (i + 1) * m + 1)) for i in range(n)]
print(my_lc(3, 4))
# [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
或与itertools.count
:
from itertools import count
def my_lc(m, n):
c = count(1)
return [list(next(c) for _ in range(m)) for _ in range(n)]
推荐阅读
- xamarin - 将击键发送到在 Xamarin.Mac 中不起作用的活动应用程序
- javascript - 制作可编辑的 MathJax?
- javascript - 将 typescript 接口结构转换为对 proptypes 做出反应
- python - Django 如何过滤模型实例以及每个实例的相关对象。嵌套过滤?
- c++ - SetWindowsHookEx 鼠标挂钩
- jquery - Asp.Net Core MVC JQuery 模态删除按钮不起作用
- video - Telegram - ffmpeg - “未针对流媒体进行优化”?
- html - 在 ASP.NET MVC 视图中使用标记丢失超链接
- visual-studio-code - VsCode Build 终端问题,不显示任何内容
- django-tinymce - 有没有办法加快 TinyMCE 占位符加载时间?