## Why is + operator much slower than append() when creating a list?

why is the sky blue
why is the sky blue physics
why is the sky red
why is the sea blue
why is the sun yellow
why is the sky pink
why is the sky blue for kids?
why is the sky blue and sunsets red

(I muddled up the question in the beginning, sorry lol long day.) I'm pretty much a beginner learning to code in python using the thinkpython pdf. One of the questions asked is to write a function to build a word list using `append` and `t = t+[x]`. According to my results, append is significantly faster, but I don't have a clue why.

```import time

def appended_list():
fin = open('C:\\Users\\Grim\\Documents\\Python\\\Docs\\words.txt','r')
wordlist=[]
for line in fin:
word = line.strip()
wordlist.append(word)
return wordlist

fin = open('C:\\Users\\Grim\\Documents\\Python\\\Docs\\words.txt','r')
wordlist=[]
for line in fin:
word = line.strip()
wordlist= wordlist + [word]
return wordlist

start_t = time.time()
print(len(appended_list()))
end_t = time.time() - start_t
print(end_t)

start_t = time.time()
end_t = time.time() - start_t
print(end_t)
```

This is what gets printed:

```113809
0.1512610912322998
113809
40.448301792144775
```

When you use the `+` operator, you're creating a new list by concatenating the original list plus another one-element list (`[word]` in your case), and there's also the extra effort of copying all the elements from the original lists to the freshly allocated list. Inside a loop, this ends up being `O(n^2)` time complexity!

By comparison, `append()` modifies the existing list by adding a new element to it, this is much cheaper and uses les memory, because under the hood the list had already allocated more space than needed to accommodate the current number of elements, and only when it's full will it actually grow to a new size, again with room to spare. Inside a loop, this is `O(n)` amortized time complexity, way better than the `O(n^2)` we obtain by using `+`.

Why is Cats?, But an artificial neural network has picked up on hidden structure in its molecules that may explain why glass is rigid like a solid. Why definition is - for what cause, reason, or purpose. How to use why in a sentence.

When invoking `__add__` which is what `+` uses, the two objects being added need to be of the same `type`. Think `'a' + 1`, that would raise a `TypeError` because they are not the same thing.

With `list`, `__add__` will need to ensure that whatever you are adding to the `list` is also of `list` type. By doing so, `cls.__add__(obj)` will force `obj = [obj]` to occur to facilitate the addition of two like objects. This creates a new list, and there is memory overhead attached to it.

However, `append` effectively calls `self[len(self):] = obj`. This only modifies the original class and doesn't get any penalty for instantiation of a new `list`.

Why Is the Sky Blue?, Why is the sky blue? The sky appears blue to the human eye as the short waves of blue light are scattered more than the other colours in  Define why. why synonyms, why pronunciation, why translation, English dictionary definition of why. adv. For what purpose, reason, or cause; with what intention, justification, or motive: Why is the door shut?

The + operation adds another element to the original array. The append operation inserts the array or object into the end of the original array, which results the append uses less memory.

Why Is Glass Rigid? Signs of Its Secret Structure Emerge., To understand why the sky is blue, we need to consider the nature of sunlight and how it interacts with the gas molecules that make up our atmosphere. Sunlight  A difficult problem or question. Used to express mild surprise, indignation, or impatience. [Middle English, from Old English hwȳ; see k w o- in Indo-European roots .] Usage Note: A traditional rule states that why is redundant in the expression reason why, as in The reason why he accepted the nomination is not clear.

Why is the sky blue?, Why definition, for what? for what reason, cause, or purpose?: Why did you behave so badly? for what cause or reason: I don't know why he is leaving. Systems Thinking is the art of considering whole systems of events and interactions rather than simple causal relationships. I recommend Gerald Weinberg's "Introduction to Systems Thinking" (available cheap on the Kindle or expensively 2nd hand) or Peter M. Senge's "The Fifth Discipline".

Terry Moore: Why is 'x' the unknown?, Big Sur coastline looking north to Bixby Canyon Bridge in California. The ocean is blue because water absorbs colors in the red part of the light spectrum. Like a  This is why we see a blue sky most of the time. Closer to the horizon, the sky fades to a lighter blue or white. The sunlight reaching us from low in the sky has passed through even more air than the sunlight reaching us from overhead.

Why is the sky blue?, Why is the disease being called coronavirus disease 2019, COVID-19? Can the virus that causes COVID-19 be spread through food,  Our money expert Jini Thornton explains why #BlackOutDay2020 is important beyond one day. The black dollar is important to the community and why it’s important to shop black. In this time, it’s essential that we take a stance with our dollars and make a difference at the check out aisle.

• Other way around - `+` is the slow one.
• Don't your results show the opposite? You're calling `appended_list` first in your code.
• Not an answer, but you an also do `wordlist = list(map(str.strip, fin))`
• In fact, with `x = x + [y]` you are even creating two new lists. `x += [y]` o.t.o.h. should act like `extend`, but you still create a one-elemented list around `[y]`.