Python: list.extend without mutating original variable
extend, list, python
Solution
The `+` operator in Python is overloaded to concatenate lists, so how about:
>>> li = [1, 2, 3, 4]
>>> new_list = li + [5, 6, 7]
>>> new_list
[1, 2, 3, 4, 5, 6, 7]
Problem
I am wondering whether there is a way in Python to use `.extend`, but not change the original list. I'd like the result to look something like this: ``` >> li = [1, 2, 3, 4] >> li [1, 2, 3, 4] >> li.extend([5, 6, 7]) [1, 2, 3, 4, 5, 6, 7] >> li [1, 2, 3, 4] ``` I tried to google this a few different ways, but I just couldn't find the correct words to describe this. Ruby has something like this where if you actually want to change the original list you'd do something like: `li.extend!([5,6,7])` otherwise it would just give you the result without mutating the original. Does this same thing exist in Python? Thanks!