python使用\进阶\小技巧

1.三元运算的使用

#[on_true] if [expression] else [on_false]

a, b  = 999, 34result = a if a%b==0 else b

def subtract(a,b):  return a-bdef add(a,b):  return a+bpd = 1print( (subtract if pd else add)(23,5) )

2.列表/字符串的逆序

lis = [1,2,3,4,5]lis[::-1]# print(lis)# [5,4,3,2,1]

3.枚举enumerate的使用

for i,item in enumerate(‘abcdef‘):
  print(i,‘ ‘,item)

‘‘‘
0 a
1 b
2 c
3 d
4 e
5 f
‘‘‘

>>> list(enumerate(‘abc‘))

[(0, ‘a‘), (1, ‘b‘), (2, ‘c‘)]

>>> list(enumerate(‘abc‘, 1))

[(1, ‘a‘), (2, ‘b‘), (3, ‘c‘)]

4.字典/集合 解析

这个应该用的很多了,大家都熟悉

#下面是ascii表的部分>> _ascii  = {chr(i): i for i in range(32,127)}{‘ ‘: 32, ‘!‘: 33, ‘"‘: 34, ‘#‘: 35, ‘$‘: 36, ‘%‘: 37, ‘&‘: 38, "‘": 39, ‘(‘: 40, ‘)‘: 41, ‘*‘: 42, ‘+‘: 43, ‘,‘: 44, ‘-‘: 45, ‘.‘: 46, ‘/‘: 47}

5.字符串组合拼接 / "".join的使用

# 将列表中的所有元素组合成字符串>> a = ["google ","is ","awsome","!"]>> " ".join(a)google is awsome!>> "".join(a)googleisawsome!>> "_".join(a)google_is_awsome_!

6.通过【键】排序字典元素

>> dict = {‘apple‘:10, ‘orange‘:28, ‘banana‘:5, ‘tomato‘:1}>> sorted(dict.items(),key=lambda x:x[1])[(‘tomato‘, 1), (‘banana‘, 5), (‘apple‘, 10), (‘orange‘, 28)]>> sorted(dict.items(),key=lambda x:x[0])[(‘apple‘, 10), (‘banana‘, 5), (‘orange‘, 28), (‘tomato‘, 1)]

7.for else的使用

是的

8.字典get()方法

>> d = {‘A‘:92,‘B‘:93}>> d.get(‘B‘)93>> d.get(‘C‘,‘None‘)‘None‘

7.for else的使用

pd = 11
for i in range(5):
  print(i)
  if pd==i:
    break;
else:
  print("yeaho??")

‘‘‘

输出为

0 1 2 3 4 yeaho??

如果pd=3,输出为

0 1 2 3

‘‘‘

8.二维矩阵的转置

# 直接使用zip()函数

>> matrix = [[‘a‘,‘b‘],[‘c‘,‘d‘],[‘e‘,‘f‘]]>>list(zip(*matrix))[(‘a‘, ‘c‘, ‘e‘), (‘b‘, ‘d‘, ‘f‘)]

原文地址:https://www.cnblogs.com/dynmi/p/12232121.html

时间: 2024-10-11 06:12:58

python使用\进阶\小技巧的相关文章

python 的一些小技巧

赋值: a, b, c = 'xixi', 'haha', 'hehe' 连接字典: >>> s = {1:'a', 2:'b', 3:'c'} >>> s.keys()[1, 2, 3]>>> s.values()['a', 'b', 'c'] >>> s.items()[(1, 'a'), (2, 'b'), (3, 'c')] >>> [(k, v) for (k, v) in s.items()][(1, '

python中的小技巧

1.求1~100以内的素数 prime=filter(lambda x: not [x%i for i in range(2,x) if x%i==0], range(2,101))#列表推导,一行搞定.print prime 2.求字符串子串 s='hauifnefldmfp'[s[i:i+n] for i in range(len(s)) for n in range(1, len(s)-i+1)] 3.求任意字符串中,所有符合ab 类型的子串: eg:s ='aabbbb123456jji

Python中一些小技巧

正常的是通过手动输入对应的Python的完整的文件名,即,对于此处的demoRunPythonUnderWindows.py,一个个字母的输入 不过,此处有个小技巧,可以利用Windows(和Linux中通用的)Tab键,然后会自动显示出你当前目录的文件: 如果当前文件夹有多个文件,多次按Tab键,会在多个文件之间切换.此处就一个文件,所以通过按Tab键,就可以一下子就显示出对应的整个文件名了

Python的一些小技巧

#coding:utf-8 #数据交换x = 6y = 5 x, y = y, xprint xprint y #相当于:?print "hello" if False else "world" #一种方式绑定不同类型的数据 nfc = ["Packers", "49ers"]afc = ["Ravens","Patriots"]print nfc + afcprint str(1)+&

python的一些小技巧 慢慢更新

1. 输出 a . print("%d %s" % (5, "ok")) b. '{1},{0},{1}'.format('ok',5) ===> ok 5 ok c print("ok", 5) 2. and or and 前真返后 or 前真返前 c = a > 0.5 and 1 or 0 # a 大于 0.5 返回1 否者 返回0 原文地址:https://www.cnblogs.com/xiennnnn/p/12155413

不为人知的python request小技巧

关于 Python requests ,在使用中,总结了一些小技巧把,记录下. 1:保持请求之间的Cookies,我们可以这样做. 2:请求时,会加上headers,一般我们会写成这样 唯一不便的是之后的代码每次都需要这么写,代码显得臃肿,所以我们可以这样: 3:默认requests请求失败后不会重试,但是我们跑case时难免遇到一些网络或外部原因导致case失败,我们可以在Session实例上附加HTTPAdapaters 参数,增加失败重试次数. 这样,之后的请求,若失败,重试3次. 4:重

Python爬虫简单入门及小技巧

刚刚申请博客,内心激动万分.于是为了扩充一下分类,随便一个随笔,也为了怕忘记新学的东西由于博主十分怠惰,所以本文并不包含安装python(以及各种模块)和python语法. 目标 前几天上B站时看到一部很好玩的番剧,名字<笨女孩>,实际上是由同名的搞笑向漫画动画化的.大家都知道动画一般一周一更,很难满足我们的需求,所以我们就来编写一个爬虫,来爬取漫画咯. 那么本文的目标就是爬取<初音MIX>这部漫画(因为笨女孩我已经爬取过了>_<).这部漫画我记得是小学的时候看的,也是

&lt;转&gt; 30 个有关 Python 的小技巧

目录[+] 1.1 拆箱 1.2 拆箱变量交换 1.3 扩展拆箱(只兼容python3) 1.4 负数索引 1.5 切割列表 1.6 负数索引切割列表 1.7指定步长切割列表 1.8 负数步长切割列表 1.9 列表切割赋值 1.10 命名列表切割方式 1.11 列表以及迭代器的压缩和解压缩 1.12 列表相邻元素压缩器 1.13 在列表中用压缩器和迭代器滑动取值窗口 1.14 用压缩器反转字典 1.15 列表展开 1.16 生成器表达式 1.17 字典推导 1.18 用字典推导反转字典 1.19

一些Python的惯用法和小技巧:Pythonic

Pythonic其实是个模糊的含义,没有确定的解释.网上也没有过多关于Pythonic的说明,我个人的理解是更加Python,更符合Python的行为习惯.本文主要是说明一些Python的惯用法和小技巧,其实与上一篇<编码规范>有异曲同工之妙,都是为了增加代码可读性,但Pythonic可能还会从性能的角度进行考虑. 首先是两个不得不说的Python的特性List Comprehension和Generator Expression,非常精简的语法,很大程度上取代了冗长for循环. 1. 列表解