0

これらの 2 つのリストから:

FCC = ["A3","A4","A5","A3"]

stNm = ["1st", "2nd", "3rd", "2nd"]

次のようなマージされたリストを作成したい:

list1 = [("A3, "1st"), ("A4", "2nd"),("A5","3rd"),("A3","2nd")]

私はこれから始めました:

f = ''

n = ''

list1 = [ ]

for f in FCC:

    for n in stNm:

        list1.append((f,n))

print (list1)

しかし、リスト1で可能なすべての組み合わせが得られます。どうすれば欲しいものを手に入れることができますか? 問題の一部はループにあると思いますが、解決方法がわかりません。辞書を作成しようとしましたが、重複したキーを保持する必要があります。

4

2 に答える 2

2

zip 機能を使用します。

zip (FCC、stNm)

于 2013-07-12T16:29:40.723 に答える
0

2 番目の質問では、次のように重複アイテムのリストを取得できます。

duplicated_items = [item for item in stNm if stNm.count(item)>1]

そして、それらが属するペアを次のように取得できます。

duplist = [pair for pair in zip(FCC, stNm) if pair[1] in dups]

注: duplicated_items リストは、通常どおり set() にすることで一意にすることができます。これは小さなリストには必要ないようですが、巨大なリストには役立つかもしれません。

于 2013-07-12T19:14:33.280 に答える