2017-03-28 3 views
0

私はpydblite.insert(* args)の個別のパラメータとして値のリストを渡す方法を見つけようとしています。 'temp'と 'keys'のリストの各値は、それぞれ.insert()関数と.create()関数の個別のパラメータでなければなりません。 db.create()についてはpydbliteの引数としてリストを渡す

​​

答えて

1

、キーのリストを構築し、このようなアンパック引数として渡す:

db.create(*items[0].keys()) 

itemsは、辞書のリストであるので、あなたは、単にリストを取得するためにdict.keys()を使用することができますリストの最初の項目を使用してキーのこのキーのリストは、の位置の引数をcreate()関数に渡すために解凍されます。参照のために* in function callsを参照してください。

dict.keys()が順序付けられていないため、上記の説明では、テーブル内のフィールドの順序は特に気にしません。 db.insert()については

あなたは**を使用して解凍した辞書を渡すことができます。

for item in items: 
    db.insert(**item) 

** in function callsを参照してください。これは、引数をキーワード引数として関数に渡します。順序は重要ではないことに注意してください。テーブル内のフィールドは、辞書の対応する項目と適切に関連付けられます。

+0

Worked!ありがとう! – oasisofthestar

関連する問題