毋庸置疑,以下代码不起作用,故障或问题似乎是该功能无法访问或识别列表[卡片]。另一方面,如果我将列表[cards]放在函数中,代码就可以正常工作。我假设主代码中的变量是全局变量,函数中声明的变量只是本地变量。
wget https://management.azure.com/subscriptions/XXXXXXX/resourceGroups/RG_SOUTH_INDIA/providers/Microsoft.Compute/virtualMachineScaleSets/linuxscal/metrics?api-version=2014-04-01
任何建议还是我的概念都错了?
答案 0 :(得分:1)
看看你的意见:
# copy cards list to working list
rem_cards = cards
此代码不制作列表的副本,它会创建另一个名称,在该名称下可以访问原始列表。每当您修改rem_cards
时,都会修改cards
。因此,rem_cards.remove(card)
实际上从cards
移除卡
如果要复制列表,请使用copy.[deep]copy
:
import copy
# copy cards list to working list
rem_cards = copy.deepcopy(cards) # if cards could contain other lists
rem_cards = copy.copy(cards) # create a simple shallow copy
rem_cards = cards[:] # you may create shallow copies without the copy module
答案 1 :(得分:0)
这也可以在不使用copy.deepcopy
的情况下解决您的问题rem_cards = cards[:]
答案 2 :(得分:0)
rem_cards = cards
不会复制列表,只是创建一个别名。它应该是
rem_cards = list(cards)