関数は、論理的にマップされたの2つのリストを返します。。Pythonループ:マッピングマッチングリストを処理するための正確な方法
name = ["facebook", "twitter", "myspace"]
hits = [4000, 2500, 1800]
と仮定したがって、4000、さえずり2500、およびMySpaceの2500
ある私は
[
{name: 'facebook',data: [4000]},
{name: 'twitter',data: [2500]},
{name: 'myspace',data: [1800]}
]
のような辞書のリストにこれらの二つの別々のリストを変換したいFacebookのためにヒット私の解決策は、これを行うです:
data = [
{"name":l, "data":[v]}
for idx1, l in enumerate(labels)
for idx2, v in enumerate(values)
if idx1 == idx2
]
さらにエレガントな論理1対1マッピングを扱う方法はありますか、私の解決策は正確ですか?
[zip](http://docs.python.org/library/functions.html#zip)は、あなたが探しているエレガンスの小さなナゲットです。 – tylerl
あなたの例は本当に1対1の関係を具体化していますか? * twitter *と* myspace *の両方のヒット数が同じである可能性はありますか? –
@RaymondHettinger:この質問は論理的なマッピングを示しています。意味名[0]はヒット[0]にマップされています。 –