目录
  1. 1. 列表推导
  2. 2. 计数器
  3. 3. FizzBuzz
  4. 4. print包含单行if语句
  5. 5. 数值的比较
  6. 6. 同时迭代两个列表
  7. 7. 带索引的列表迭代
  8. 8. 初始化列表
  9. 9. 列表转字符串--敲黑板!!!!!
  10. 10. 迭代工具
  11. 11. False == True --> 沙雕操作
Python小技巧

列表推导

1
2
3
4
5
6
# 列表推导
l = [x for x in range(10)]
# 集合推导
s = {x for x in range(10)}
# 字典推导
d = {x:x/2 for x in range(10)}

计数器

这个很有用!!!不用自己遍历了!

1
2
3
4
5
6
7
8
from collections import Counter

count = Count("hello world")

#输出结果
# count = Count({ l : 3, o : 2, : 1, e : 1, d : 1, h : 1, r : 1, w : 1})
# c.most_common(2)
# [( l , 3), ( o , 2)]

FizzBuzz

一个很经典的题目:

写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”。


我自己设计的话,肯定是循环和if 啦!!!

1
2
for x in range(1,101):
print("fizz"[x%3*len('fizz')::]+"buzz"[x%5*len('buzz')::] or x)

涉及的知识点有点多,操作有点666!!!

print语句的单行判断输出

srt的切片

[::]的用法

至于为什么会有len(‘fizz’)len(‘buzz’)目的是为了保证只要余数不为0那么起始索引必须大于字符长度就行。

print包含单行if语句

1
print('A' if 1 else 'B')

数值的比较

1
2
3
4
a = 5 
# 其实不太常用
if 1<a>4:
print(a)

同时迭代两个列表

1
2
3
4
nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
for teama, teamb in zip(nfc, afc):
print(teama + " vs. " + teamb)

zip()是内置函数,用户很多的。

带索引的列表迭代

1
2
3
teams = ["Packers", "49ers", "Ravens", "Patriots"]
for index, team in enumerate(teams):
print(index, team)

enumerate这个函数其实使用不多。

初始化列表

1
l = [0]*3

用过MALTAB的人大概知道这种用法。

在python中批量打印其实也用的较多。

列表转字符串--敲黑板!!!!!

1
2
l = ['as',  'sad',  'assad',  'sadfas']
s = ','.join(l)

此方法效率非常高!!!!!!!!!!!!!!!!!

对于大量字符串拼接的采用此方法效果很好!

迭代工具

1
2
3
4
from itertools import combinations
l = [1, 2, 3, 4]
for i in combinations(teams, 2):
print(i)

其实就是个回归的,自己写也可以。

False == True --> 沙雕操作

1
2
3
False = True
if False:
print(True)

因为Fasle和True在python中也是变量,所以可以赋值。

但是真要是这么写容易被打死。

文章作者: ZyTomorrow
文章链接: https://zytomorrow.top/2019/03/29/python/python-xiao-ji-qiao/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Tomorrow
打赏
  • 微信
  • 支付寶

评论