Python 循环浏览所有列表[x]和#x27;没有超出范围吗?

Python 循环浏览所有列表[x]和#x27;没有超出范围吗?,python,list,for-loop,var,Python,List,For Loop,Var,我正在传递一个最多可能有6个条目的列表。如果列表小于6,我需要在不超出范围的情况下将每个条目分配给不同的var 因此,我需要: var_1 = list[0] var_2 = list[1] var_3 = list[2] var_4 = list[3] var_5 = list[4] var_6 = list[5] var可以是预先分配的None或(最好)do 使用list作为变量名是个坏主意,因此我将其更改为lst var_1, var_2, var_3, var_4, var_5, va

我正在传递一个最多可能有6个条目的列表。如果列表小于6,我需要在不超出范围的情况下将每个条目分配给不同的var

因此,我需要:

var_1 = list[0]
var_2 = list[1]
var_3 = list[2]
var_4 = list[3]
var_5 = list[4]
var_6 = list[5]
var可以是预先分配的None或(最好)do


使用
list
作为变量名是个坏主意,因此我将其更改为
lst

var_1, var_2, var_3, var_4, var_5, var_6 = lst + [None] * (len(lst) - 6)
用口述代替

lst = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']
dct = {'var_%s'%(i+1) : val for i, val in enumerate(lst)}

dct['var_1'] #accessing fist variable
>>> 'a'
dct['var_11']
>>> 'k'
dct['var_12']
>>> KeyError: 'var_12'

注意:如果你真的,真的坚持把它们作为变量,你可以做
locals().update(dct)
。但我不建议这样做。

也不要用Python类型命名变量,比如'list'no dict,因为我需要保留条目的顺序。还有?使用数字递增的键…你的观点是?列表已经设置好了。我需要将var_1-3分配给我的_列表[0]-[5]。如果它是一个dict,是的,我可以做var_1=my_dict.get('1'),但我喜欢这个列表。为什么不使用OrderedDict呢?为什么要投反对票?这类问题通常使用dict解决。修改locals()不起作用(除非您位于全局命名空间中,其中locals()==globals())
lst = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']
dct = {'var_%s'%(i+1) : val for i, val in enumerate(lst)}

dct['var_1'] #accessing fist variable
>>> 'a'
dct['var_11']
>>> 'k'
dct['var_12']
>>> KeyError: 'var_12'