list
オブジェクトの代わりにdict
を使用するようにデータ構造を変更することをお勧めします。ディクショナリ(dict
)は、マップまたは連想配列と呼ばれることがあります。それらを使用すると、データにキー値を関連付けることでデータにアクセスできます。次の例では、cars
の要素がキーとして機能することを前提としています。
zip
を使用してリストから辞書を作成し、与えられたシーケンスをタプルに変換することができます。
>>> cars = ['civic', 'corvette', 'prius']
>>> years = ['2009', '1979', '2017']
>>> zip(cars, years)
[('civic', '2009'), ('corvette', '1979'), ('prius', '2017')]
list
tuple
のSは、各タプルのdict
第一及び第二の要素を初期化するために使用することができ、それぞれのキーと値です。
>>> carYear = dict(zip(cars, years))
>>> carYear
{'corvette': '1979', 'prius': '2017', 'civic': '2009'}
さて、あなたはこれを行うことができます:
>>> carYear['corvette']
'1979'
をdict
オブジェクトの内容を印刷するために、私は再びタプルに離れて物事を壊し.items()
方法を使用するようにしたいです。観察:
for car, year in sorted(carYear.items()):
print('Car: {} => {}'.format(car, year))
私は出力が一貫していることを確認するためにsorted
を使用しています。 dict
オブジェクトの実装のため、.items()
は、実行するたびにランダムな順序でデータを返します。 sorted
はこの問題を解決し、一貫した出力が得られます。 Pythonの辞書の詳細については
がここにPythonのドキュメントを参照してください。 https://docs.python.org/3/tutorial/datastructures.html#dictionaries
ありがとうございます! – Ewa
@エワあなたは大歓迎です。 50分をお持ちの場合は、Raymond Hettinger(core python dev)の講演をご覧ください:https://www.youtube.com/watch?v=OSGv2VnC0go&t=799s彼は21:50にizipについて語ります。 Izipはzipのほうがいいです(itertoolsをインポートする必要があります。そのため、Ididは私の答えでそれについて話しません)。 –