2

各インデックスが別の配列である配列があります。intがある場合、Pythonの配列内の各配列要素の最初の2つのインデックス内にintが存在するかどうかを確認するコードをどのように記述できますか。

例:3インチ

array = [[1,2,3], [4,5,6]] 

Falseを生成します。

3インチ

array = [[1,3,7], [4,5,6]] 

Trueを生成します。

4

4 に答える 4

5

配列をスライスしてその一部を取得し、演算子と関数を次のように使用できinますany()

>>> array = [[1,2,3], [4,5,6]]
>>> [3 in elem[:2] for elem in array]
[False, False]
>>> any(3 in elem[:2] for elem in array)
False

>>> array = [[1,3,7], [4,5,6]]
>>> [3 in elem[:2] for elem in array]
[True, False]
>>> any(3 in elem[:2] for elem in array)
True

any()Trueiterableの要素の少なくとも1つがである場合、関数は戻りますTrue

于 2013-02-13T15:24:01.687 に答える
3
>>> a = [[1,2,3], [4,5,6]]
>>> print any(3 in b[:2] for b in a)
False

>>> a = [[1,3,7], [4,5,6]] 
>>> print any(3 in b[:2] for b in a)
True
于 2013-02-13T15:23:44.673 に答える
0

頭に浮かぶ最初の方法は

len([x for x in array if 3 in x[:2]]) > 0
于 2013-02-13T15:27:03.133 に答える
0

使用できますnumpy.array

import numpy as np

a1 = np.array([[1,2,3], [4,5,6]]) 
a2 = np.array([[1,3,7], [4,5,6]])

できるよ:

>>> a1[:, :2]
array([[1, 2],
       [4, 5]])
>>> 3 in a1[:, :2]
False
>>> 3 in a2[:, :2]
True
于 2013-02-13T15:49:33.377 に答える