Ich versuche, entweder eine Ganzzahl oder ein Wörterbuch mit derselben Codezeile zu kopieren. Ich brauche 2 Instanzen der Ganzzahl / des Diktats.

Meine Codezeile ist ungefähr so:

dict['item1'] = dict['item2'].copy

Wenn es sich jedoch um eine Ganzzahl handelt, erhalte ich Folgendes:

AttributeError: 'int' object has no attribute 'copy'

Irgendeine Idee, was die Ursache ist?

4
User 25 Nov. 2013 im 20:15

3 Antworten

Beste Antwort

Nicht alle Objekte haben eine copy Methode wie dict. Glücklicherweise gibt es copy.copy(), das alles kopiert du passierst es.

8
Silas Ray 25 Nov. 2013 im 16:18

Verwenden Sie die Methode copy.deepcopy(dict)

import copy
some_dict = {'a':'aaa', 'b':1}
new_dict['b'] = copy.deepcopy(some_dict['a'])
1
Tasdik Rahman 2 Apr. 2016 im 14:17

Oder benutze int(...):

dict['item1'] = int(dict['item2'])

So wäre es wie erwartet.

0
U10-Forward 13 Jän. 2019 im 06:28