0

このようなリストのリストがあります

[[('C', '0', 8.625), ('A', '0', 4.5)], [('B', '0', 15.3125), ('D', '2', 6.0625)],
[('C', '1', 8.1875), ('D', '2', 6.0625)], [('G', '2', 11.0625), ('D', '2', 6.0625)],
[('G', '2', 10.1875), ('C', '1', 8.1875)]] 

がリストにあるかどうかを確認するにはどうすればよい('C', '0', 8.625)ですか (可能な場合はループを使用せずに)。

4

2 に答える 2

3

@Schoolboyによって提案されているように、暗黙的なループによってすべてのリストに対してメンバーシップ操作を実行するか、itertools.chainを使用することができます。

>>> some_list = [[('C', '0', 8.625), ('A', '0', 4.5)], [('B', '0', 15.3125), ('D', '2', 6.0625)],
[('C', '1', 8.1875), ('D', '2', 6.0625)], [('G', '2', 11.0625), ('D', '2', 6.0625)],
[('G', '2', 10.1875), ('C', '1', 8.1875)]]
>>> from itertools import chain
>>> ('C', '0', 8.625) in chain(*some_list)
True
于 2013-03-10T06:47:58.497 に答える
3

リストに3つの「レベル」があると仮定して、これを試してください:

any(('C', '0', 8.625) in li for li in c)

cあなたのリストはどこですか。

于 2013-03-10T06:33:46.180 に答える