341 :
デフォルトの名無しさん:
すみませんが、質問させてください。
pythonでは多次元配列を扱うときはリストのリストを使いますよね。
[ [1,0,2],[-1,2,3],[5,7,2] ]こんな風に。
リストのリストで、ある要素が何行目に入っているのか調べるにはどうしたらよいでしょうか?
例えば上の場合は「5」を入力すると「3」を返すような。
要素は数字だけに限らず文字列の場合もあります。
どなたか上手い方法を教えてください。お願いします。
>>> lst = [ [1,0,2],[-1,2,3],[5,7,2] ]
>>> (lambda x, lst: [x in s for s in lst])(5, lst).index(True) + 1
3
冗談だ。
>>341 a=[ [1,0,2],[-1,2,3],[5,7,2] ]
普通(.は半スペね)
for n,l in enumerate(a):
.if 5 in l:
..print n+1
リスト内包大好き
sum([1 for l in a if not 5 in l])+1
調べ方がまるでわからないというならご参考に
a=[[1,0,2],[-1,2,3],[5,7,2]]
for x,y in enumerate(a):
if 5 in y:
print x+1
345 :
344:2007/11/09(金) 14:59:03
いやん、超かぶった・・・