我想在Python中创建一个变量列表,其中列表中的项目是变量,当我更改变量时,列表中的项目也会发生变化。例如:
a = 5
someList.append(a)
a = 3
someList
someList[0.value()]
Output:
[a]
[3]
附录
为什么我要这样做?
因为我想在几个不同大小的排序数组中搜索最小值。在某些时候,其中一个数组的迭代器指针变为空指针,我想从我正在搜索的数组列表中删除该数组。
我能看到的唯一方法是能够创建指向这些数组的变量列表,以便在不再相关时可以删除它们。
答案 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}