我是一个Python初学者,我的愿望是创建一个n行n列的数组。我有一个单词字典,我需要把它们放在一个n*n数组中。provisions ={'cake':'20','eggs':'10','tomato':'4','potatos':'2','bread':'4'}
| / | 1 | 2 |
| 1 | cake | eggs |
| 2 | tomatoes | potatoes |
这是我想要的一个例子。我们这里有一个2行2列的数组。我可以有一个超过5个元素的字典。这只是一个例子。
import string
provisions = {'cake':'20','eggs':'10','tomatoes':'4','potatoes':'2','bread':'3'}
tab = []
#i can modify the n for having an array of n*n no matter if provisions has more elements
n = 2
j = 0
i = 0
if provisions:
for k,v in provisions.items():
while i<n:
while j<n:
print(f"{k}")
tab[[i],[j]] = provisions[i]
j += 1
i += 1
1条答案
按热度按时间mrphzbgm1#
你可以试试下面的代码:迭代dict,计算当前索引(
m
变量),并计算在矩阵中的位置。如果要确定position tab[
i
][`j`]的元素,首先获取此元素的索引:i * n + j
(dict中的第一个元素是0)。不幸的是,仍然没有专门的方法来索引到字典的keys()
/values()
中,您可以在this answer中找到一些东西。