这有效但很笨拙,而且不是很“Pythonic”。我还希望能够运行 'numValues' 的不同值,例如 4 到 40 ...
innerList = []
outerList = []
numValues = 12
loopIter = 0
for i in range(numValues):
innerList.append(0)
for i in range(numValues):
copyInnerList = innerList.copy()
outerList.append(copyInnerList)
for i in range(len(innerList)):
for j in range(loopIter + 1):
outerList[i][j] = 1
loopIter += 1
print(outerList)
Run Code Online (Sandbox Code Playgroud)
Bło*_*tek 12
numValues = 12
result = [ [1] * i + [0] * (numValues - i) for i in range(1, numValues+1) ]
Run Code Online (Sandbox Code Playgroud)
您可以将其作为嵌套列表理解来执行,其中有两个迭代器,range(numValues)并且仅1在第二个迭代器是<=第一个时才设置 a :
numValues = 4
outerList = [[1 if j <= i else 0 for j in range(numValues)] for i in range(numValues)]
print(outerList)
Run Code Online (Sandbox Code Playgroud)
输出:
[[1, 0, 0, 0], [1, 1, 0, 0], [1, 1, 1, 0], [1, 1, 1, 1]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
289 次 |
| 最近记录: |