Python - 引用函数中的列表

时间:2016-11-13 10:27:11

标签: python

毋庸置疑,以下代码不起作用,故障或问题似乎是该功能无法访问或识别列表[卡片]。另一方面,如果我将列表[cards]放在函数中,代码就可以正常工作。我假设主代码中的变量是全局变量,函数中声明的变量只是本地变量。

wget https://management.azure.com/subscriptions/XXXXXXX/resourceGroups/RG_SOUTH_INDIA/providers/Microsoft.Compute/virtualMachineScaleSets/linuxscal/metrics?api-version=2014-04-01

任何建议还是我的概念都错了?

3 个答案:

答案 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)