私は、リストと変更値のリストを調べるプログラムを書くためにPythonを使用しています。リストのリスト:全体を通して値を見つける
私のリストに私は3つあり、そのインデックスを探したいと思います。今は最初の行でしか動かすことができません。私はそれが "数字"のリストのどれかで3を見つけることを望みます。ここで
は泥を洗い流すためにいくつかのサンプルコードです:
numbers = [
[3, 3, 3, 5, 3, 3, 3, 3, 6],
[8, 0, 0, 0, 4, 7, 5, 0, 3],
[0, 5, 0, 0, 0, 3, 0, 0, 0],
[0, 7, 0, 8, 0, 0, 0, 0, 9],
[0, 0, 0, 0, 1, 0, 0, 0, 0],
[9, 0, 0, 0, 0, 4, 0, 2, 0],
[0, 0, 0, 9, 0, 0, 0, 1, 0],
[7, 0, 8, 3, 2, 0, 0, 0, 5],
[3, 0, 0, 0, 0, 8, 0, 0, 0],
]
a = -1
while a:
try:
for row in numbers:
a = row[a+1:].index(3) + a + 1
print("Found 3 at index", a)
except ValueError:
break
私はそれを実行すると、私が手:
Found 3 at index 0
Found 3 at index 1
Found 3 at index 2
Found 3 at index 4
Found 3 at index 5
Found 3 at index 6
Found 3 at index 8
それが唯一の最初の行に取り組んでいることを示しています。
ありがとうございます!
を行うためにscipyのダウンロード/ numpyのを使用してみてください、あなたが '3'または '0'を見つけたいですか?その行のスライスの目的は何ですか? – moooeeeep
"働いている"ことが何を意味するか分かりません。あなたのコードは間違いなく最初の行以上のものを調べていますが、おそらくあなたが望む方法ではありません。 Pythonが何をしているのかを知るために、あなたのコードを手作業で(鉛筆と紙を使って)作業してください。 'a'の値を注意深く追跡してください。 –
私が「働く」という意味は、最初の行で「行うべきことをする」ことだけです。それは最も確かにリストのリスト全体を見ていない。 – cbbcbail