首页 > 解决方案 > 在python的循环中创建多个变量列表

问题描述

我正在尝试创建一个循环来查找一个列表的值与另一个列表的值的距离。

数据本身在坐标布局中具有不同的维度。这是一个例子

x = ['1.23568 1.589887', '1.989 1.689']
y = ['2.5689 1.5789', '2.898 2.656']

我希望能够为每个 y 值及其与每个 x 值的距离制作一个单独的列表。x 值总是比 y 值多。

这是我到目前为止所拥有的:

def distances_y(x,y):
    for i in y:
        ix = [i.split(' ',)[0] for i in y]
        for z in x:
            zx = [z.split('',1)[0] for z in x]
            distances_1 = [zx - ix for z in x]
            return distances_1
        print(i +"_"+"list") = [distance_1]

但我坚持如何为每个 y 值创建单独的列表。每个距离本身也需要是一个列表,可以说是列表中的列表。

最大的问题是我无法为此使用除 tkinter 之外的软件包。

标签: python

解决方案


尝试改用字典:

def distances_y(x,y):
    dct = {}
    for i in y:
        ix = [i.split(' ',)[0] for i in y]
        for z in x:
            zx = [z.split('',1)[0] for z in x]
            distances_1 = [zx - ix for z in x]
            return distances_1
        dct[i +"_"+"list"] = [distance_1]

要获取值,请执行以下操作:

print(dct)

如果您想获得特定的键名,请尝试:

print(dct[<key name over here>])

推荐阅读