-2

データによってPythonのリストオブジェクトを直接参照する方法はありますか?

list[{'id':'', 'value':{}},{}] で、リストを反復せずに「id」の値を設定したいと思います。

4

2 に答える 2

0

与えられた場合

mylist = ['id', value]

valueに割り当てることで変更できます

mylist[1] = new_value

質問は私にははっきりしていませんが、識別子と値のペアを使用する場合は、リストではなく辞書を使用することをお勧めします。

于 2012-09-01T22:27:34.833 に答える
0

いいえ、できません。データではなく、参照で何かを参照することしかできません。あなたの場合:

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を参照)

于 2012-09-01T22:49:14.527 に答える