python中很酷的技能(上)
python中很酷的技巧(上)
参考:https://www.quora.com/Python-programming-language-1/What-are-some-cool-Python-tricks
1.几个简单的
产生一个数组
[10 * x for x in a]
产生一个迭代(a generatorexpression)
(10 * x for x in a)
dict和set
>>> {x: 10 * x for x in range(5)} {0: 0, 1: 10, 2: 20, 3: 30, 4: 40} >>> {10 * x for x in range(5)} set([0, 40, 10, 20, 30])
2.最快的速度将本地文件共享到网上
python -m SimpleHTTPServer
3.文件中最长的一行
max(open('test.txt'), key=len)
4.无穷大和无穷小
float('Inf') float('-Inf')
5.比大小
3 > x == 1 -> False
6.循环中找index
mylist = [4,2,42] for i, value in enumerate(mylist): print i, ': ', value -> 0: 4 -> 1: 2 -> 2: 42
7.'*'的用途
def foo(a, b, c): print a, b, c mydict = {'a':1, 'b':2, 'c':3} mylist = [10, 20, 30] foo(*mydict) -> a, b, c foo(**mydict) -> 1, 2, 3 foo(*mylist) -> 10 20 30 a,*b ="python -> a='p' b=('y','t','h','o','n')
8.简单枚举
class PlayerRanking: Bolt, Green, Johnson, Mom = range(4) PlayerRanking.Mom -> 4
9.交换两个数值
b, a = a, b
10.翻转数组和字符串
"Hello world"[::-1] [1,2,3][::-1] [1,2,3].reverse()
11.自动关闭文件流
with open("my_file.txt") as f: print(f.readlines())
在这两句代码执行后,文件被自动关闭。