最近在网上看到一些Python的一些基本但是非常实用的操作。
元素相关
多赋值:
a = b = c = 'www.lanol.cn' print('a的值:'+a) print('b的值:'+b) print('c的值:'+c)
交换元素的值:
a = "我是a的值" b = "我是b的值" a,b = b,a print('a:'+a) print('b:'+b)
元素自操作:
a = 5 a +=1 #自加1 a -=1 #自减1 a /=2 #自除2 a *=2 #自乘2 a **=2 #自己的2次方 print(a)
使用三元操作符赋值:
三元操作符是 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)