連想リスト(連想リストを参照)は、プロパティリストと非常によく似ています。連想リストとは異なり、プロパティリストではプロパティ名が一意である必要があるため、ペアの順序は重要ではありません。
さまざまなLisp関数名や変数に情報を付与する場合、アソシエーションリストよりもプロパティリストの方が適しています。プログラムがこうした情報をすべて一つのアソシエーションリストに保持している場合、特定のLisp関数名や変数のアソシエーションを確認するたびに、通常はそのリスト全体を検索する必要があり、処理が遅くなる可能性があります。対照的に、同じ情報を関数名や変数自体のプロパティリストに保持しておけば、各検索では通常短いプロパティリスト一つ分のみを走査すれば済みます。変数のドキュメントが
variable-documentation
という名前のプロパティに記録されているのはこのためです。バイトコンパイラも同様に、特別な処理が必要な関数を記録するためにプロパティを利用しています。
しかし、アソシエーションリストには独自の利点があります。用途によっては、プロパティを更新するよりも、アソシエーションリストの先頭にアソシエーションを追加する方が高速な場合があります。シンボルのすべてのプロパティは同一のプロパティリストに格納されるため、プロパティ名の使い分けによって競合が生じる可能性があります。(このため、プロパティ名の先頭にプログラムで通常使用される変数や関数の名前接頭辞を付けるなど、一意である可能性が高いプロパティ名を選択するのがよいでしょう。)アソシエーションリストは、アソシエーションをリストの先頭にプッシュし、後で破棄するというスタックのような使い方が可能ですが、これはプロパティリストでは実現できません。