Home > Mobile >  Is it the best way to create an array from a list of objects?
Is it the best way to create an array from a list of objects?

Time:11-09

I have a list of objects stored in socialmedias variable. One parameter of SocialMedia class is called username. I want to create an array with all usernames from that list of objects socialmedias and I want to be sure I use the best way.

socialmedias = [obj1, obj2, obj3, ..., objN]
usernames = []

for sm in socialmedias:
    usernames.append(sm.username)
print(usernames)
>> [username1, username2, username3, ..., usernameN]

Is there any other way to do it in less line of codes I used above?

CodePudding user response:

yes there is, you can use list comprehension like:

usernames = [sm.username for sm in socialmedias]

CodePudding user response:

You could do

usernames = [sm.username for sm in socialmedias] 

From: Extract list of attributes from list of objects in python

CodePudding user response:

By memory I would say by using list comprehension:

socialmedias = [obj1, obj2, obj3, ..., objN]
usernames = [sm.username for sm in socialmedias]

print(usernames)

It should do the work.

CodePudding user response:

Using a function.

list(map(lambda sm: sm.username, socialmedias))
  • Related