データによってPythonのリストオブジェクトを直接参照する方法はありますか?
list[{'id':'', 'value':{}},{}] で、リストを反復せずに「id」の値を設定したいと思います。
与えられた場合
mylist = ['id', value]
value
に割り当てることで変更できます
mylist[1] = new_value
質問は私にははっきりしていませんが、識別子と値のペアを使用する場合は、リストではなく辞書を使用することをお勧めします。
いいえ、できません。データではなく、参照で何かを参照することしかできません。あなたの場合:
mylist = ['id', value]
mylist[1]
data を含むメモリ内のどこかのスポットへの参照 (ポインタ)value
です。データをそれ自体で参照することはできません (まあ、技術的にはできますが、あまり意味のある方法ではありません)。
ただし、次の方法でデータへの参照を取得できます
mylist[mylist.index(value)]
この場合、「リストを反復処理」せずmylist.index(value)
に が最初に出現したインデックスを取得します。value
ただし、この方法でも Python は内部で「リストを反復処理」していることを知っておく必要があります (Python の実装によって異なります)。これは単に配列がバイナリ レベルでどのように機能するかです。ある時点で反復する必要があります。( http://docs.python.org/py3k/library/stdtypes.html#sequence-types-str-bytes-bytearray-list-tuple-rangeを参照)