PYTHON - 在循环中创建多个列表

标签 python list loops

我正在尝试在我的大学组织一个编程项目,但我陷入了困境。我已经介绍了“数学”部分,但我需要有关 Python 中的列表和循环的帮助。

我正在使用图表,让我举一个例子,以使其更清楚: 3 node graph

正如你所看到的,我有 3 个节点和 2 个边,没什么特别的。我需要计算每对节点之间最近的路线,我已经涵盖了这一点。现在我需要将其放入 n 列表中,每个 n 个元素,或者放入 < em>n x n,所以要么:

a = [0, 1, 2]
b = [1, 0, 1]
c = [2, 1, 0]

或一个表格(或矩阵?),如下所示: table 3x3 ,我只需要白色背景的部分。

当我读取数据进行处理时,我将每个节点作为一个新元素放入一个列表中,因此通过这三个步骤我逐渐得到:

lw = []
lw = ['a']
lw = ['a','b']
lw = ['a','b','c']

有没有办法从 lw 的元素中创建空列表?我真的很想将它们命名为 dis_adis_bdis_c 等。我尝试使用字典来完成此操作,但后来我无法像通常那样操作这些列表。说实话,我更喜欢使用列表的解决方案,因为我已经为此编写了程序的后半部分。

编辑: 好的,所以你们中的一个人要求输入/输出以使我的问题更清楚。 MM输入的是:

lw = ['a','b','c']

我想要的输出是:

a = []
b = []
c = []

或者类似的东西(可以很容易地用节点识别的列表,我在lw中列出了)

编辑2:

好的,现在我已经创建了许多这样的列表(仍然坚持示例):

dis['a']
dis['b']
dis['c']

我有一个有效的命令

path[X][Y]

输入时采用节点名称(如 lw 列表,例如“a”),输入时返回一个列表

从 X 到 Y 的最短路径上的节点。我现在需要做的是计算它的长度

len(path[X][Y])

并从中减去 1(它也计算“起始”点,因此它正在纠正它)。然后我就有了

将此数字放入列表中的相应位置。我想循环执行它,所以它会

自动将数字附加到现有列表中,因此我会自动从中获取

dis['a'] = []
dis['b'] = []
dis['c'] = []

dis['a'] = [0, 1, 2]
dis['b'] = [1, 0, 1]
dis['c'] = [2, 1, 0]

不用担心,它会计算两次路径(例如从ab并且然后从ba),它不一定是完美的;)我尝试创建这样的方法,但我不知道如何将结果存储在所述列表中(或者我是否正确)。这是我的建议:

def lo():   
    for i in range(0, len(lw)):
        for j in range (0, len(lw)):
        dis[i].append(path[lw[i]][lw[j]])

最佳答案

什么是你不能用字典操作的?

dis_adis_bdis_c...也可以是 dis['a']dis['b']dis['c']...

你可以这样做:

dis = {}
for elem in lw:
    dis[elem] = []
    # ...

现在想循环所有dis-es吗?

for elem, val in dis.iteritems():
    print elem    # your a, b, or c
    print val     # your [] corresponding to a, b, or c
<小时/>

如果您想添加元素,并找到最小值和最大值(根据评论中的要求):

假设最初 dis['a'] 得到 [0, 1, 2]

还有...

dis['b'] = [1, 0, 1]
dis['c'] = [2, 1, 0]

现在您想要将一个新项目添加到所有dis-es...

item = 5
for elem in dis:
    dis[elem].append(item)

现在你想找到最大值...

for elem in dis:
    print max(dis[elem])

关于PYTHON - 在循环中创建多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34240487/

相关文章:

c# - 从配对列表中删除 'duplicates'

c++ - 清除 Linux 内核链表

python - 在 Python 中循环遍历图像的每个像素的更快方法?

javascript - 使用 vanillaJS 无限绘制/取消绘制 SVG 路径循环

python - scrapy Spider 的输出与 scrapy shell 的输出不同

python - Pandas 数据帧到 JSON 格式的操作

java - 如何使用 Java 运行带参数的 python 代码,./AdafruitDHT.py 22 4

python - 属性错误 : module 'tensorflow' has no attribute 'float32'

javascript - 在 JavaScript 中分区

c - 可执行文件的文本输出部分显示在控制台上