python使用进阶小技巧
Posted dynmi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python使用进阶小技巧相关的知识,希望对你有一定的参考价值。
1.三元运算的使用
#[on_true] if [expression] else [on_false]
a, b = 999, 34
result = a if a%b==0 else b
def subtract(a,b):
return a-b
def add(a,b):
return a+b
pd = 1
print( (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‘)]
以上是关于python使用进阶小技巧的主要内容,如果未能解决你的问题,请参考以下文章