Python的基本骚操作(长期更新)

Lan
Lan
2020-06-20 / 0 评论 / 1,316 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2020年06月20日,已超过1418天没有更新,若内容或图片失效,请留言反馈。

最近在网上看到一些Python的一些基本但是非常实用的操作。

元素相关

多赋值:

a = b = c = 'www.lanol.cn'
print('a的值:'+a)
print('b的值:'+b)
print('c的值:'+c)

image.png

交换元素的值:

a = "我是a的值"
b = "我是b的值"
a,b = b,a
print('a:'+a)
print('b:'+b)

image.png

元素自操作:

a = 5
a +=1 #自加1
a -=1 #自减1
a /=2 #自除2
a *=2 #自乘2
a **=2 #自己的2次方
print(a)

image.png

使用三元操作符赋值:

三元操作符是 if-else 语句也就是条件操作符的一个快捷方式:

[表达式为真的返回值] if [表达式] else [表达式为假的返回值]

这里给出几个你可以用来使代码紧凑简洁的例子。下面的语句是说“如果 y 是 9,给 x 赋值 10,不然赋值为 20”。如果需要的话我们也可以延长这条操作链。

x = 10 if (y == 9) else 20

同样地,我们可以对类做这种操作:

x = (classA if y == 1 else classB)(param1, param2)

在上面的例子里 classA 与 classB 是两个类,其中一个类的构造函数会被调用.

下面是另一个多个条件表达式链接起来用以计算最小值的例子:

In [10]: def small(a,b,c):
    ...:     return a if a<=b and a<=c else ( b if b<=a and b<=c else c) 
    ...: 
 
In [11]: small(1,0,1)
Out[11]: 0
 
In [12]: small(1,2,3)
Out[12]: 1

我们甚至可以在列表推导中使用三元运算符:

 
In [14]: [ m**2 if m > 10 else m**4 for m in range(20) ] 
Out[14]: 
[0,1,16,81,256,625,1296,2401,4096,6561,10000,121,144,169,196,225,256,289,324,61]




列表相关

判断列表是否为空:

def test1():
    arr1 = [1, 2, 3, 4, 5]
    arr2 = []
 
    # 不推荐
    if len(arr1)!=0:
        print("arr1 is not empty-len!")
    if len(arr2)!=0:
        print("arr2 is not empty-len!")
 
    # 推荐
    if arr1:
        print("arr1 is not empty!")
    if arr2:
        print("arr2 is not empty!")

遍历列表,获取索引下标:

def test3():
    l1 = [11, 22, 30, 41, 51]
 
    # 不推荐
    for i in xrange(0, 5):
        print("%s->%s" %(i, l1[i]))
 
    # 推荐
    for i, v in enumerate(l1):
        print("%s->%s" % (i, v))

字典列表生成式:

def test5():
    dict1 = {1: "val1", 2: "val2", 3: "val3", 5: "val5"}
 
    dict2 = {k*2: v for k, v in dict1.items()}
    print(dict2)

其他相关


0

评论 (0)

取消