我希望有不同长度的N个列表,并从列表中引用它们。这可能吗。例如,我可以硬编码:
$.each(data, function(key,value){
stringa +="<option value=\""+key+"\">"+key+"</option>";
if(t==0){
tmp[0] = key;
}
t++;
});
$("#select-1").html($("#select-1").html()+stringa);
然后直接引用它们,但我希望能够调用list1 = [0, 2, 3, 4, 1]
list2 = [1, 4, 2, 1]
list4 = [1, 1, 0]
这样的内容并获得与list[1][1]
返回相同的内容或让list1[1]
返回错误list[3][2]
未定义(因此list3
的长度为0)。
这可能吗?
答案 0 :(得分:4)
我正在寻找一种动态创建列表列表的方法,然后在以后附加到各种列表中。
你可以尝试初始化像
这样的列表lists = [[] for _ in xrange(3)]
现在,在分配元素时,您只需执行以下操作:
lists[0].append(value)
lists[2].append(value2)
将值添加到列表中的第一个子列表,将值2添加到第三个子列表等等。
您也可以使用dict方法。
>>> data = {'list%i' % i : [] for i in range(4)}
>>> data
{'list0': [], 'list1': [], 'list2': [], 'list3': []}
所以你可以用这种方式在列表中追加项目
>>> data['list1'].append(1)
>>> data
{'list0': [], 'list1': [1], 'list2': [], 'list3': []}
答案 1 :(得分:0)
也许lists = [list1, list2, list3]
?
答案 2 :(得分:0)
我不确定这是否是您要查找的内容,但它会处理您尝试访问未定义列表的实例。
list_hash = {
"list1": [0,2,3,4,1],
"list2": [1,4,2,1],
"list4": [1,1,0]
}
答案 3 :(得分:0)
这是可能的。但你不应该使用这个
list1=[1, 2, 3, 4]
list2=[2,4,5]
def updateList():
scope=dir() # gets all defined items
itms=[]
list={}
for itm in scope:
if itm[0:4]=="list": itms.append(itm)
for itm in itms:
try:
indx=int(itm[4:])
list[indx]=eval(itm)
except:
pass
updateList()
现在,您将定义这样的列表,因为您正在搜索整个范围并匹配符合条件的字符串。即list1 list2 list4等它没有list3,如果你添加list3,将不会更新
为此,每次添加列表*时都必须调用updateList()。但是会对性能产生负担。您可以通过排除已定义的变量来提高性能。 :)希望它有所帮助
答案 4 :(得分:0)
你可以使用另一个数组,如下面的
来做到这一点$("form").submit( function()
{
$("button[type='submit']").attr("disabled", true);
});
所以现在你可以通过列表访问了。
也许它可以解决您的问题并为您提供帮助。