1

これはおそらく初心者の質問ですが、回答を検索する方法がわかりません(質問に「名前を付ける」ことができないため)

2 つのリストまたは 2 つのリストのタプルがあります

xxx = ["time1", "time2", "time3"]
yyy = ["value1", "value2", "value3"]
zzz=(xxx,yyy)

今、すべてのエントリ結果のリスト/タプルを作成したいと思います

[['time1', 'value1'], ['time2', 'value2'], ['time3', 'value3']]

forループ(およびzip)でこれを行うことができますが、「より良い」解決策はありませんか?ここに同様の質問がありますが、私の問題にそこに示されている解決策を使用できません

4

2 に答える 2

11

組み込みzip関数を使用します。

 zzz = zip(xxx, yyy) 

もちろん、これはタプルのリスト (または python3.x の反復可能なタプル) を作成します。本当にリストのリストが必要な場合:

 #list (python2.x) or iterable(python3.x) of lists
 zzz = map(list,zip(xxx,yyy)) 

また

 #list of lists, not list of tuples
 #python 2.x and python 3.x
 zzz = [ list(x) for x in zip(xxx,yyy) ]

python3.x を使用していて、それzzzがリストであることを確認したい場合は、リスト内包表記のソリューションが機能するか、次をzip生成するiterable からリストを作成できます。

#list of tuples in python3.x.  
zzz = list(zip(xxx,yyy)) #equivalent to zip(xxx,yyy) in python2.x
                         #will work in python2.x, but will make an extra copy.
                         # which will be available for garbage collection
                         # immediately
于 2012-09-06T14:09:32.537 に答える
0

あなたのデータにはタイムスタンプと数字が含まれています。数値集約型の計算を行っている場合、numpy 配列は一見の価値があるかもしれません。それらはより優れたパフォーマンスを提供し、移調は非常に簡単です。(arrayname.transpose()またはarrayname.T)

于 2012-09-06T16:21:54.910 に答える