gpt4 book ai didi

Python:如何按列遍历列表列表,就好像它是一个普通的二维数组(矩阵)一样?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:21:13 26 4
gpt4 key购买 nike

我有一个这样的列表列表:list=[[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]] .

我想在一个函数中使用这个列表,该函数将我的 list 分成 9 组,每组四个值,然后转储到 dict 列表。如果 len(list)=n,该函数应创建 [sqrt(n)-1]*[sqrt(n)-1] 切片。在这种情况下,给定 len(list)=16slices=[4-1]*[4-1]=9

这是函数:

def dictionarize1(array):
dict1 = {}
count = 0
for x in range(len(array[0]) - 1) :
for y in range(len(array[0]) - 1):
dict1[count] = [array[x][y], array[x][y+1], array[x+1][y], array[x + 1][y+1]]
count = count + 1
return dict1


dictionarize1(list) #Calling the function

我认为我的 list 是一个二维数组 - 在这种情况下是一个 4x4 矩阵 - 必须像矩阵一样遍历它: 固定并且 column 递增:

Columns ->
Rows v 0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15

因此,我的切片必须是[0,1,4,5], [1,2,5,6],[2,3 ,6,7],[4,5,8,9] 等,不包裹矩阵。

最终结果应该是dict={'0':[0,1,4,5],'1':[1,2,5,6],'2':[2,3 ,6,7],'3':[4,5,8,9],'4':[5,6,9,10],'5':[6,7,10,11],'6 ':[8,9,12,13],'7':[9,10,13,14],'8':[10,11,14,15]}.

我的问题:这是我的 for 循环按列遍历列表的正确方法吗(这意味着:行是固定的,列是递增的)?我无法判断是否打印我的 list 我只得到一个常规列表,所以它让我感到困惑。谢谢!

最佳答案

不知道我是否明白你的意思。如果您想显示正确的结果,请执行此操作

list = dictionarize1(list) #Calling the function
print(list) #your result is ok

关于Python:如何按列遍历列表列表,就好像它是一个普通的二维数组(矩阵)一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33712607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com