-2

最大 6 つのエントリを持つリストを渡します。リストが 6 より短い場合は、範囲外にならずに各エントリを別の変数に割り当てる必要があります。

だから私は必要です:

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 を事前に割り当てられます。

var 3 = list[2] or None
4

2 に答える 2

2

代わりに dict を使用してください。

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)。しかし、私はそれをお勧めしません。

于 2012-08-24T12:46:56.317 に答える
0

変数名として使うのはまずいlistので、lst

var_1, var_2, var_3, var_4, var_5, var_6 = lst + [None] * (len(lst) - 6)
于 2012-08-24T12:37:53.377 に答える