2

Consider a list inside a list

list1 = ["element1","element2",["subelement1","subelement2"]]

subelement1 can be accessed by index [2][0]

print (list1[2][0])

But how can I insert elements at [2][x] position if only two parameters can be passed to insert function.

list.insert(index, element) 

Lets say i want to insert "subelement0" at [2],[0]. That makes the list :

list1 = ["element1","element2",["subelement0","subelement1","subelement2"]]
1
  • you mean ["element1", "subelement1", "element2", "subelement2"]? Commented Dec 20, 2018 at 11:55

2 Answers 2

2

Try to insert element to sublist as below:

list1[2].insert(0, 'subelement0') 
print(list1)
#  ['element1', 'element2', ['subelement0', 'subelement1', 'subelement2']]
Sign up to request clarification or add additional context in comments.

Comments

0

I would like to extend the answer posted by @Andersson. It would be nice to checking the type of the list element, then insert a new value.

def list_modify(element_to_add):
  list1 = ["element1", "element2", ["subelement1", "subelement2"]]
  for index, value in enumerate(list1):
      if isinstance(value, list):
          list1[index].insert(0, element_to_add)
  print(list1)
  #  ['element1', 'element2', ['subelement0', 'subelement1', 'subelement2']]
if __name__ == "__main__":
  list_modify('subelement0')

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.