猿问

Python追加到列表,覆盖列表中的所有其他元素

我有这个功能:


def create_blank_curl_params(urls):

    curl_params_list = []

    for url in urls:

        curl_params = CurlParameters

        curl_params.url = url

        curl_params_list.append(curl_params)


    numbers = []

    for number in [1, 2, 3, 4, 5]:

        new_number = number

        numbers.append(new_number)


    return curl_params_list

其中CurlParameters只是一个对象。现在我的数字列表(供参考)看起来很棒,显示为[1,2,3,4,5]。但是,我的curl_params_list只是5个重复元素。好像每次附加(curl_params)都会替换其他所有内容,我该如何解决呢?


慕村225694
浏览 281回答 2
2回答

明月笑刀无情

我找到了解决方案,问题出在行上:curl_params = CurlParameters首先,CurlParameters类没有init函数,第二,应该是curl_params = CurlParameters()

四季花海

理想情况下,您将创建一个新对象。如果只能使用CurlParameters对象,则需要创建它的新副本:import copydef create_blank_curl_params(urls):    curl_params_list = []    for url in urls:        curl_params = copy.deepcopy(CurlParameters)        curl_params.url = url        curl_params_list.append(curl_params)    numbers = []    for number in [1, 2, 3, 4, 5]:        new_number = number        numbers.append(new_number)    return curl_params_list
随时随地看视频慕课网APP

相关分类

Python
我要回答