`list()` creates a new list from a sequence. Use it when you need list operations on elements currently held in another sequence: `list((1, 2, 3, 4))` gives `[1, 2, 3, 4]`. The reverse conversion uses `tuple()`. section 5.7.4
Turn characters into an editable list
`list("Hello")` gives `['H', 'e', 'l', 'l', 'o']`. To edit a string character by character, convert it with `list()`, change the list, then join the characters with `"".join(...)`. This creates new objects, so it may be costly when repeated millions of times. section 5.7.4 section 6.4.6
`list()` is also useful when a result can be iterated over but is not itself a list. For example, `zip()` returns an iterator: a CSV writer can use it directly, but converting it with `list()` lets you inspect the paired values as a list. Dictionary `keys()`, `values()`, and `items()` return dynamically updated views; `list()` makes a list of their contents. section 22.5.2 section 7.2
If you already have the elements to write out, square brackets are simpler: `x = [1, 2, 3]`. Use `list()` for conversion rather than as a substitute for every list literal. section 5.1 section 5.7.4
