前言
大家都在学习Python,那么, 你真正的掌握python了吗?
下面来列举10个Python基础又很有技巧的操
1. 交换变量
有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变量,然后用它来进行交换。比如:
# 输入
a = 5
b = 10
#创建临时变量
temp = a
a = b
b = temp
print(a)
print(b)
但在Python中,其实我们有一种更简洁的写法:
a,b = 5 ,10
print(a,b)
a,b = b,a
print(a,b)
2. 将list中的所有元素转为单个字符串
列表和字符串是Python中最常见的数据类型,它们会遇到互相转换的需要。那么,我们该怎么把list中的所有元素转为字符串呢?
a = ["wozishi","is","zhende"]
print(" ",join(a))
3. 查找list中出现次数最多的元素
给定一个包含多个元素的list,让你查找其中出现次数最多的元素,你会怎么做?在下图中,我们介绍了两种方法,其中第一种是利用max()函数的key参数,第二种则是使用Counter。
a = [1,2,3,1,2,3,2,2,4,5,1]
print(max(set(a),key = a.count))
from collections import Count
cnt = Counter(a)
print(cnt.most_common(3))
4. 判断两个字符串是否是anagram
所谓anagram,就是两个词所用的字母及其个数都是一样的,但是它们字母的位置不一样,比如abc,bac,acb。在Python中,Counter可以解决这个问题,
from collections import Counter
Counter(str) ==Counter(str)
5. 字符串倒转
字符串倒转,就是把1234转成4321。下面我们介绍了三种方法:
方法一:最简单的切片法,a[::-1]就相当于a[尾:头:-1]。
方法二:用Python自带reversed()函数,它可被用于list倒转。
方法三:第三种是通过倒转数据类型和切片倒转整数。
a = 'dasdafshdlkghsldkfs'
print(a[: :-1])
for char in reversed(a):
print(char)
num = 123456789
print(int(str(sum)[: :-1]))
小编推荐一个学python的学习qun 740,3222,34
无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
6. list倒转
和字符串倒转类似,切片法也可以被用于list倒转,如下面的第一种方法。第二种方法调用的是上面提到的reversed()函数。
a = [5,4,3,2,1]
print(a[: :-1])
for ele in reversed(a):
print(ele)
7. 二维矩阵转置
如果要转置矩阵,可以直接使用使用zip()函数。除此之外,没有比import numpy更简单的方法了。
original = [['a','b'],['c','d'],['e','f']]
transposed = zip(*original )
print(list(transposed))
8. 链式比较
如果想输出数组中介于4-7之间的元素,java是这么写的:if( b > 4 && b < 7){ },但Python更人性化。包括最后一句1 == b < 20,这和C、java也很不一样。
b = 6
print(4<b<7)
print(1==b<20)
9. 链式调用
在python中实现链式调用只需在函数返回对象自己就行了。
def product(a,b):
return a*b
def add(a,b):
return a+b
b = True
print((product if b else add)(5,7))
10. 判断一个key是否在字典中
如果目标key不在字典中,以下代码会返回None或default。
d = {'a' : 1,'b' : 2}
print(d.get('c',3))