問題が発生しました。私は上記のサンプルのようなリストを持っています:Pythonが行の位置を行列に見つける
list = [[{'bu':'01-DAM-XNXX'}, 45, 60], [{'bu':'02-TAC-MWKKK'}, 80, 120], ...]
と私は、辞書の 'bu'キーの値に応じて行の番号を見つける必要があります。この場合、'01 -DAM-XNXXの場合は1、'02 -TAC-MWKKKの場合は2となります。
ありがとうございます!
問題が発生しました。私は上記のサンプルのようなリストを持っています:Pythonが行の位置を行列に見つける
list = [[{'bu':'01-DAM-XNXX'}, 45, 60], [{'bu':'02-TAC-MWKKK'}, 80, 120], ...]
と私は、辞書の 'bu'キーの値に応じて行の番号を見つける必要があります。この場合、'01 -DAM-XNXXの場合は1、'02 -TAC-MWKKKの場合は2となります。
ありがとうございます!
私はそれを持っていると思う:
element = '01-DAM-XNXX'
position = raw_list.index([row for row in raw_list if row[0]['bu'] == element][0])
私は、Pythonで変数 'list'の名前を付けないことを強くお勧めします。これはあらゆる種類の問題につながる可能性があります! – mrCarnivore
ええ、私は知っています。編集されました。ありがとう。 – Madmartigan
Pythonの3
search_value = '02-TAC-MWKKK'
ind = (ind for ind, val in enumerate(list) if val[0]['bu'] == search_value).__next__()
のPython 2
search_value = '02-TAC-MWKKK'
ind = (ind for ind, val in enumerate(list) if val[0]['bu'] == search_value).next()
また、@mrCarnivoreで述べたように、あなたの変数に名前を付けないでくださいlist
。
あなたは簡単な関数を使用できますので、あなたが行で何を意味するの
def searchList(term,searchlist):
for row in range(len(searchlist)):
if term in searchlist[row][0]['bu']:
return row
を?リストのn番目の要素は行nにありますか?または、行のdictの値の最初の2文字ですか? – mrCarnivore
私の場合、行はリストの各要素です。たとえば、row1:[{'bu': '01-DAM-XNXX'}、45,60] – Madmartigan
'01-DAM-XNXX 'の先頭にある'01'は、先頭の数字? – mrCarnivore