简体   繁体   中英

assign multiple instances of a class to variables

Python. I need to assign multiple class instances to number of variables. First i tried this:

a = b = c = []

but they all refer to the same object, which is not what I need. This works better:

(a, b, c) = [[] for i in range(3)]

but it seems a bit too verbose. Is there a shorter way to do this?

UPDATE: OK, so this is not really Pythonic to cram everything into one line, question resolved.

But if this worked it'd be really cool:

a,b,c = []*3

And this line creates three references to the same object:

a,b,c = [[]] * 3

Oh well...

a, b, c = [], [], []

simply:

a = []
b = []
c = []

(python is not perl, there is no need for one-liners)

a = []
b = a[:]
import copy
c = copy.copy(b)

You could use these if you want them all initialized to something other than []

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM