0

元。考えてみましょう、私はリストを持っています、

list_var = ['sales_qty' , 'returns_qty' , 'net_sales_qty' , 'sales_amt' , 'returns_amt' ,'product_discount_amt' , 'product_net_amt' ,'product_cost_amt' , 'gross_sales_amt' , 'supplier_disc_amt' , 'category_disc_amt' , 'topup_disc_amt' , 'value_at_cost']

listこのリスト要素から、メモリ内のようにこれらの要素を初期化したいのでappend, extend、これらの要素にメソッドを使用できます。

次のように、

#Need these variable in memory..
sales_qty = [], returns_qty  = [], net_sales_qty = [] ... value_at_cost = []

#list operation on variable..
sales_qty.append(5)

それを行う簡単な方法はありますか?要素を削除したり、リストに要素を簡単に追加したりできますか?

4

3 に答える 3

5

に基づいてリストの辞書を作成できますlist_var

list_var = ['sales_qty' , 'returns_qty' , 'net_sales_qty' , 'sales_amt' , 'returns_amt' ,'product_discount_amt' , 'product_net_amt' ,'product_cost_amt' , 'gross_sales_amt' , 'supplier_disc_amt' , 'category_disc_amt' , 'topup_disc_amt' , 'value_at_cost']

list_dic = {k: [] for k in list_var}

list_dicdictを介してリストにアクセスできるようになりました。

list_dic['sales_qty'].append(123)
list_dic['category_disc_amt'].append('abc')

dict 内包表記をサポートしていない Python バージョン (python 2.6 以下) を使用している場合は、代わりにリスト内包表記を使用できます (DSM がコメントで説明したように):

list_dic = dict((k, []) for k in list_var)
于 2013-01-29T12:25:24.320 に答える
2

varsグローバル スコープから呼び出す場合に使用します。それ以外の場合は、 を使用しますglobals

list_var = ['sales_qty' , 'returns_qty' , 'net_sales_qty' , 'sales_amt' , 'returns_amt' ,'product_discount_amt' , 'product_net_amt' ,'product_cost_amt' , 'gross_sales_amt' , 'supplier_disc_amt' , 'category_disc_amt' , 'topup_disc_amt' , 'value_at_cost']

for item in list_var:
    vars()[item] = []

sales_qty.append(1)
sales_qty.append(3)
returns_qty.append(2)

print "Outside..."
print sales_qty
print returns_qty


def foo():
    global sales_qty

    sales_qty.append(4)

    print "Inside foo..."
    print sales_qty
    print returns_qty

    # This works if you want the whole thing inside a function
    print "Variable from inside foo..."
    globals()["new_var"] = []
    new_var.append(5)
    print new_var

foo()

print "Outside again..."
print sales_qty
print returns_qty

出力:

>>> 
Outside...
[1, 3]
[2]
Inside foo...
[1, 3, 4]
[2]
Variable from inside foo...
[5]
Outside again...
[1, 3, 4]
[2]
>>> 
于 2013-01-29T12:30:53.520 に答える
0

次のような意味です。

list_var = [ 'abc', 'cde', 'fgh' ]

dict_var = dict()
for x in list_var:
    dict_var[x] = []

dict_var['abc'].append(5)
于 2013-01-29T12:25:11.043 に答える