ten_billion = 10_000_000_000
print(f"{ten_billion:,}")
可输出: 10,000,000,000 这样看起来更加清晰了。
a, b = 1,2
a, b = b, a
这个估计很多人都知道,这是个很python的写法,在其他不少语言中都是错误的。
a = 11
for i in range(10):
if i == a ** 2:
print(i)
else:
print('Not include!')
for-else一般用于遍历失败的情况,在循环完整结束后才执行else;如果中途从break跳出,则连else一起跳出。
import sys
L = range(0, 10000)
print(sys.getsizeof(L))
我们可以得到占用了多少内存。另外,range的内存占用比一个真正的列表要少的多。比如上面代码返回48,但是使用列表的话会返回87624。
import sys
L2 = [i for i in range(0, 10000)]
print(sys.getsizeof(L2))
d1 = { 'a': 1, 'b': 2 }
d2 = { 'b': 3, 'c': 4 }
merged_d = { **d1, **d2 }
print(merged_d)
返回:{'a': 1, 'b': 3, 'c': 4}。假如两个列表有重复的话,第一个字典key对应的value会被覆盖。
test = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4]
print(max(set(test), key = test.count))
import numpy as np
print(np.arange(0, 1, 0.1))
range()函数只能得到整数数列,因此,可以考虑用numpy库中的arrange来实现。
根据key排序:
x = {'u': 4, 'w': 2, 'v': 1}
new_x = dict(sorted(x.items()))
返回:{'u': 4, 'v': 1, 'w': 2}。
根据value排序:
# 升序
dict(sorted(x.items(), key=lambda item: item[1]))
# 降序
dict(sorted(x.items(), key=lambda item: item[1]), reverse=True)
x = [(1, 2, 4), ('u', 'v', 'w')]
new_x = list(zip(*x))
返回: [(1, 'u'), (2, 'v'), (4, 'w')]。 虽然大部分时候会第一选择numpy,不过zip也可以实现。