4

Pythonでこれを行うためのより良い方法はありますか:これは良い方法ですか?

x = ('a', 'b', 'c')
y = ('d', 'e', 'f')
z = ('g', 'e', 'i')

l = [x, y, z]

s = set([e for (_, e, _) in l])

私はやや醜く見えますが、複雑な「get_unique_elements_from_tuple_list」関数を書かずに必要なことを行います... ;)

編集: s の期待値が設定されています(['b','e'])

4

1 に答える 1

23

それは結構です、それがセットの目的です。私が変更する1つのことはこれです:

s = set(e[1] for e in l)

読みやすさが向上します。リスト内包表記をジェネレータ式に変えたことにも注意してください。一時的なリストを作成する必要はありません。

于 2009-08-03T11:24:26.400 に答える