1. ホーム
  2. python

[解決済み] Pythonの並列リストの意味するところ

2022-02-04 05:46:35

質問

Pythonを使い始めたばかりなのですが、並列リストの意味がわかりません。 私は、それは単に情報を格納するために2つのリストを使用していると思います。

どのように解決するのですか?

並列リスト(Parallel List)は、"quot "という用語の変形です。 平行配列 となります。このアイデアは、レコード(Pythonの用語では属性を持つオブジェクト)の単一の配列/リスト/コレクションを持つ代わりに、概念的なレコードの各フィールドのための別の配列/リスト/コレクションを持つということです。

例えば、名前、年齢、職業を持つPersonレコードがあるとする。

people = [
    Person(name='Bob', age=38, occupation=PROFESSIONAL_WEASEL_TRAINER),
    Person(name='Douglas', age=42, occupation=WRITER),
    # etc.
]

または、各属性に対して並列リスト(quot;parallel list")を作成することもできます。

names = ['Bob', 'Douglas', ...]
ages = [38, 42, ...]
occupations = [PROFESSIONAL_WEASEL_TRAINER, WRITER, ...]

どちらも同じ情報を保存するのですが、やることによっては、どちらかの方が効率的に処理できるかもしれません。また、並列コレクションを使用すると、元のコレクションを変更することなく、ある特定のコレクションに「注釈」を付けることができます。

(並列配列は、8ビットマシン用のBASICの多くのバージョンのように、適切なレコードをサポートしていないが配列をサポートしている言語でも、本当によく使われていた)。