category: Python
---
-### Lists
+### Tuples (immutable)
+
+ tuple = ()
+
+### Lists (mutable)
list = []
list[i:j] # returns list subset
list[-1] # returns last element
list[:-1] # returns all but the last element
+ *list # expands all elements in place
list[i] = val
list[i:j] = otherlist # replace ith to jth-1 elements with otherlist
### Dict
+ dict = {}
dict.keys()
dict.values()
"key" in dict # let's say this returns False, then...
dict["key"] # ...this raises KeyError
dict.get("key") # ...this returns None
dict.setdefault("key", 1)
+ **dict # expands all k/v pairs in place
### Iteration
string.replace("-", " ")
",".join(list)
"hi {0}".format('j')
- "hi {name}" # same as "hi {}".format('name')
+ f"hi {name}" # same as "hi {}".format('name')
str.find(",")
str.index(",") # same, but raises IndexError
str.count(",")
str.strip()
str.islower()
+
+ /* escape characters */
+ >>> 'doesn\'t' # use \' to escape the single quote...
+ "doesn't"
+ >>> "doesn't" # ...or use double quotes instead
+ "doesn't"
+ >>> '"Yes," they said.'
+ '"Yes," they said.'
+ >>> "\"Yes,\" they said."
+ '"Yes," they said.'
+ >>> '"Isn\'t," they said.'
+ '"Isn\'t," they said.'
### Casting
```py
file = open("hello.txt", "r") # open in read mode 'r'
file.close()
+```
-print(file.read()) # read the file
-print fh.readline() # Reading line by line
+```py
+print(file.read()) # read the entire file and set the cursor at the end of file
+print file.readline() # Reading one line
+file.seek(0, 0) # place the cursor at the beginning of the file
```
### Writing (overwrite)
```py
file = open("hello.txt", "w") # open in write mode 'w'
-write("Hello World")
+file.write("Hello World")
text_lines = ["First line", "Second line", "Last line"]
file.writelines(text_lines)
```py
file = open("Hello.txt", "a") # open in append mode
-write("Hello World again")
+file.write("Hello World again")
file.close()
```
```py
with open("welcome.txt", "r") as file:
- # 'file' refers directly to the "welcome.txt"
+ # 'file' refers directly to "welcome.txt"
data = file.read()
-```
-It closes the file automatically, no need for `file.close()`.
+# It closes the file automatically at the end of scope, no need for `file.close()`.
+```