Python Forum
best way to add item to list only once
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
best way to add item to list only once
#1
Hi,

what is the more effective way of the both below?
Or is there a third variant?

def add_only_once_to_list(in_obj, in_list,):
    if in_obj not in in_list:
        in_list.append(in_obj)
Or with a local set:

def add_only_once_to_list(in_obj, in_list,):
    temp_set = set(in_list)
    temp_set.add(in_obj)
    in_list = list(temp_set)
Reply
#2
If it were just a one-time thing for one object, I'd do the first one.

If it was happening more than once, I'd wonder why you're retaining the list if uniqueness is important.

If you needed to add several objects to the list uniquely, I'd do similar to #2, but use a set comprehension.

def add_objects_if_not_in_list(objs_to_add, in_list):
    return list({x for x in itertools.chain(in_list, objs_to_add)})
The disadvantage of this and #2 from above is that the set would destroy any order of the original list. (which may be the only reason you would prefer to keep the list than the set)
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
Question Finding string in list item jesse68 8 1,858 Jun-30-2022, 08:27 AM
Last Post: Gribouillis
  how to easily create a list of already existing item CompleteNewb 15 3,524 Jan-06-2022, 12:48 AM
Last Post: CompleteNewb
  Remove an item from a list contained in another item in python CompleteNewb 19 5,665 Nov-11-2021, 06:43 AM
Last Post: Gribouillis
  count item in list korenron 8 3,433 Aug-18-2021, 06:40 AM
Last Post: naughtyCat
  Time.sleep: stop appending item to the list if time is early quest 0 1,869 Apr-13-2021, 11:44 AM
Last Post: quest
  How to run a pytest test for each item in a list arielma 0 2,364 Jan-06-2021, 10:40 PM
Last Post: arielma
  How do I add a number to every item in a list? john316 2 1,964 Oct-28-2020, 05:29 PM
Last Post: deanhystad
  Ignoring a list item hank4eva 2 2,106 Aug-17-2020, 08:40 AM
Last Post: perfringo
  Select correct item from list for subprocess command pythonnewbie138 6 3,285 Jul-24-2020, 09:09 PM
Last Post: pythonnewbie138
  Why is the item not in list when it is DanielCook 2 2,025 Jul-08-2020, 07:38 PM
Last Post: deanhystad

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020