几个小例子告诉你, 一行Python代码能干哪些事

(1)一行代码启动一个Web服务


  1. python -m SimpleHTTPServer 8080 # python2  
  2. python3 -m http.server 8080 # python3 

几个小例子告诉你, 一行Python代码能干哪些事

(2)一行代码实现变量值互换


  1. a, b = 1, 2; a, b = b, a 

(3)一行代码解决FizzBuzz问题:

FizzBuzz问题:打印数字1到100, 3的倍数打印“Fizz”, 5的倍数打印“Buzz”, 既是3又是5的倍数的打印“FizzBuzz”


  1. for x in range(1, 101): print("fizz"[x % 3  4:]+"buzz"[x % 5  4:] or x) 

(4)一行代码输出特定字符”Love”拼成的心形


  1. print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x0.05)2+(y0.1)2-1)3-(x0.05)2(y0.1)3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)])) 

几个小例子告诉你, 一行Python代码能干哪些事

(5)一行代码输出Mandelbrot图像

Mandelbrot图像:图像中的每个位置都对应于公式N=x+yi中的一个复数


  1. print('\n'.join([''.join([''if abs((lambda a: lambda z, c, n: a(a, z, c, n))(lambda s, z, c, n: z if n == 0 else s(s, zz+c, c, n-1))(0, 0.02x+0.05jy, 40)) < 2 else ' ' for x in range(-80, 20)]) for y in range(-20, 20)])) 

几个小例子告诉你, 一行Python代码能干哪些事

(6)一行代码打印九九乘法表


  1. print('\n'.join([' '.join(['%s%s=%-2s' % (y, x, xy) for y in range(1, x+1)]) for x in range(1, 10)])) 

几个小例子告诉你, 一行Python代码能干哪些事

(7)一行代码计算出1-100之间的素数(两个版本)


  1. print(' '.join([str(item) for item in filter(lambda x: not [x % i for i in range(2, x) if x % i == 0], range(2, 101))]))  
  2. print(' '.join([str(item) for item in filter(lambda x: all(map(lambda p: x % p != 0, range(2, x))), range(2, 101))])) 

几个小例子告诉你, 一行Python代码能干哪些事

(8)一行代码输出斐波那契数列


  1. print([x[0] for x in [(a[i][0], a.append([a[i][1], a[i][0]+a[i][1]])) for a in ([[1, 1]], ) for i in range(30)]]) 

几个小例子告诉你, 一行Python代码能干哪些事

(9)一行代码实现快排算法


  1. qsort = lambda arr: len(arr) > 1 and qsort(list(filter(lambda x: x <= arr[0], arr[1:]))) + arr[0:1] + qsort(list(filter(lambda x: x > arr[0], arr[1:]))) or arr 

(10)一行代码解决八皇后问题


  1. [__import__('sys').stdout.write('\n'.join('.'  i + 'Q' + '.'  (8-i-1) for i in vec) + "\n========\n") for vec in __import__('itertools').permutations(range(8)) if 8 == len(set(vec[i]+i for i in range(8))) == len(set(vec[i]-i for i in range(8)))] 

几个小例子告诉你, 一行Python代码能干哪些事

(11)一行代码实现数组的flatten功能: 将多维数组转化为一维


  1. flatten = lambda x: [y for l in x for y in flatten(l)] if isinstance(x, list) else [x] 

(12)一行代码实现list, 有点类似与上个功能的反功能


  1. array = lambda x: [x[i:i+3] for i in range(0, len(x), 3)] 

(13)一行代码实现求解2的1000次方的各位数之和


  1. print(sum(map(int, str(2**1000)))) 

评论列表 (2)

林羽凡 发表于 2021-12-04 23:14:59
<a class="comment_at_admin">@ Derek Dekker</a>很早之前的内容了。:heo-头秃:
Derek Dekker 发表于 2021-12-04 12:10:45
还是Python最简洁了