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