如何在Python中创建变量列表

时间:2014-05-08 18:49:01

标签: python list

我想在Python中创建一个变量列表,其中列表中的项目是变量,当我更改变量时,列表中的项目也会发生变化。例如:

a = 5
someList.append(a)
a = 3
someList
someList[0.value()]

Output:
[a]
[3]

附录

为什么我要这样做?

因为我想在几个不同大小的排序数组中搜索最小值。在某些时候,其中一个数组的迭代器指针变为空指针,我想从我正在搜索的数组列表中删除该数组。

我能看到的唯一方法是能够创建指向这些数组的变量列表,以便在不再相关时可以删除它们。

2 个答案:

答案 0 :(得分:3)

好吧,我忽略了你说的其他一切,因为我在读完之后已经服用了止痛药。

  

因为我想在不同大小的几个排序数组中搜索最小值

你说你有“少数” 排序数组 “不同大小”:

>>> l1 = [4,5,6,7,8,9]
>>> l2 = [2,7,8,9,11,12,13,14]
>>> l3 = [3,6,9,12,15,18,21]
>>> l4 = [5,6,7,8]

你想找到最低限度吗?

>>> ll = [l1,l2,l3,l4]
>>> min([l[0] for l in ll])
2

在这里你拥有它!

以下是“技巧”: 排序数组 具有“神奇”属性:最小元素始终位于一端,通常位于第一个位置!

\o/

你看,没有指针,没有迭代,没有头痛!

让它成为一个功能:

>>> def get_minimum_of_many_lists(*args):
...    return min([l[0] for l in args])
...
>>> l1 = [4,5,6,7,8,9]
>>> l2 = [2,7,8,9,11,12,13,14]
>>> l3 = [3,6,9,12,15,18,21]
>>> l4 = [5,6,7,8]
>>>
>>> print(get_minimum_of_many_lists(l1,l2,l3))
2
>>> print(get_minimum_of_many_lists(l1,l3,l4))
3
>>> print(get_minimum_of_many_lists(l1,l4))
5
>>> print(get_minimum_of_many_lists(l1,l2,l3,l4,[0,1,2,3]))
0

答案 1 :(得分:0)

没有简单的方法(如果有的话)在列表中存储变量;你应该使用词典代替;您可以轻松命名,列出和修改变量。例如:

a=1
b=1
myDict={}
myDict['a']=a
myDict['b']=b
print myDict

>> {'a': 1, 'b': 1}

myDict['b']=5
print myDict

>> {'a': 1, 'b': 5}