aList = [123, 'xyz', 'zara', 'abc']
aList.append(2014)
print aList
o/p [123, 'xyz', 'zara', 'abc', 2014]
を生成します
このリストを上書き/更新するために何をすべきか。 O/Pが欲しい
[2014, 'xyz', 'zara', 'abc']
これを試してみてください
alist[0] = 2014
しかし、123の位置がわからない場合は、次のようにしてみてください。
for idx, item in enumerate(alist):
if 123 in item:
alist[idx] = 2014
位置がわかっている場合はアイテムを交換してください:
aList[0]=2014
または、リスト内の位置ループがわからない場合は、アイテムを見つけて交換します
aList = [123, 'xyz', 'zara', 'abc']
for i,item in enumerate(aList):
if item==123:
aList[i]=2014
print aList
私はコーディングを学んでいますが、これと同じ問題が見つかりました。これを解決する簡単な方法は、@ kerby82が言ったようにリストを文字通り上書きすることだと思います:
Pythonのリスト内の項目は、フォームを使用して値に設定できます
x [n] = v
ここで、xはリストの名前、nは配列内のインデックス、vは設定する値です。
あなたの例では:
aList = [123, 'xyz', 'zara', 'abc']
aList[0] = 2014
print aList
>>[2014, 'xyz', 'zara', 'abc']
私は列挙せずにそれを好み、代わりに次のような「範囲」を使用します:
for item in range(0, len(alist)):
if 123 in alist[item]:
alist[item] = 2014
pythonに不慣れな人にとっては、読みやすく、要約するのが少し賢くなるかもしれません。
よろしくP.
私はもっとPythonicだと思う:
aList.remove(123)
aList.insert(0, 2014)
より有用:
def shuffle(list, to_delete, to_shuffle, index):
list.remove(to_delete)
list.insert(index, to_shuffle)
return
list = ['a', 'b']
shuffle(list, 'a', 'c', 0)
print list
>> ['c', 'b']
同じ配列から値を取得して更新しようとしている場合は、次のコードを使用できます。
{ 'condition': {
'ts': [ '5a81625ba0ff65023c729022',
'5a8161ada0ff65023c728f51',
'5a815fb4a0ff65023c728dcd']}
コレクションがuserData ['condition'] ['ts']であり、必要がある場合
for i,supplier in enumerate(userData['condition']['ts']):
supplier = ObjectId(supplier)
userData['condition']['ts'][i] = supplier
出力は
{'condition': { 'ts': [ ObjectId('5a81625ba0ff65023c729022'),
ObjectId('5a8161ada0ff65023c728f51'),
ObjectId('5a815fb4a0ff65023c728dcd')]}