Python中10个很值得称赞的操作

135 篇文章 2 订阅
132 篇文章 1 订阅

前言

大家都在学习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))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值