私はこの質問が以前に尋ねられていたはずですが、私はPythonで(1)答えを見つけるか(2)答えを理解するにはあまりにも慣れていないかもしれません。辞書内のリスト内の値にアクセス/取得する方法は?
私はリストを含む辞書を持っています。各キーには、リスト内の3つの値が関連付けられています。値はリストにあるので、インデックスが付けられていると仮定します。私は辞書キーが順序付けされておらず、通常は値が同じであることを知っています。しかし、値はリスト内にあるので、正しい順序で並べる必要があります。
各キーの最初の値を新しいリストに格納するforループを作成します。あるいは、辞書の値にアクセスする方法を知りたいだけです。 私は次のことを試してみました: 名リスト
for key, values in name.iteritems():
xCoord = key[1]
print xCoord
の=辞書はしかし、私はエラーを取得する:「はIndexError:範囲外の文字列インデックスを」各キーに関連付けられた最初の値を呼び出す/取得する方法は何ですか?ありがとうございました!
EDIT:次のように辞書を作成しました。
inputCSV = r"G:\REDIRECT\GRP\Test\Workspace\GRPNOV16A.csv"
name = {}
with open((inputCSV),'rb') as offenseFile:
read = csv.DictReader(offenseFile)
for row in read:
if row['Defendant'] not in name:
name[row['Defendant']] = []
name[row['Defendant']].append((row['X - Offense'],row['Y - Offense'],row['GRP Status']))
offenseFile.close
EDIT 2:未経験者で、同様の質問に答える必要がある将来の誰かのために。上記の辞書コードは、辞書内のリスト内にタプルを作成していました。結果として、タプルにアクセスするには、私は次のようにしなければなりませんでした:
for key, values in name.iteritems():
xCoord = key[0][1]
print xCoord
私はこれを試しても、同じエラーが表示されます。 – JackOfTales
私のために働く。どのようにあなたの辞書を設定しますか? – manonthemat
私はDictReaderで読んだCSVファイルを持っています。その後、forループを使用して、読み込まれた辞書から特定の行のみを取り出し、それらを以前は空の辞書に格納しました。 – JackOfTales