python 10 个小技巧

1. 列表推导式

#!/usr/bin/env python
# encoding: utf-8
"""
@author: 侠之大者kamil
@file: 1 tips.py
@time: 2016/4/6 14:03
"""
a_list = [1,3,5,7,9]
b_list = [1,3,5,7,9]
for i in range(len(a_list)):
    a_list[i] = a_list[i] * 3
print(a_list) #[3, 9, 15, 21, 27]
# 列表推导式
b_list = [ i * 3 for i in b_list]
print(b_list) #[3, 9, 15, 21, 27]

2. 遍历列表

#!/usr/bin/env python
# encoding: utf-8
"""
@author: 侠之大者kamil
@file: 2 tips.py
@time: 2016/4/6 14:13
"""
a_list = [1,3,5]
for i in range(len(a_list)):
    print(a_list[i])
for i in a_list:
    print(i)
#如果x是一个列表,你可以对它的元素进行迭代。多数情况下你不需要各元素的索引,但如果你非要这样做,那就用enumerate函数。它像下边的样子:
for index,element in enumerate(a_list):
    print(index,element)

3. 元素互换

#!/usr/bin/env python
# encoding: utf-8
"""
@author: 侠之大者kamil
@file: 3 tips.py
@time: 2016/4/6 14:24
"""
a = 5
b = 10
tmp = a
a = b
b = tmp 
print(a,b)    #10 ,5
a,b = b,a
print(a,b)    #5, 10

 4. 初始化列表

#!/usr/bin/env python
# encoding: utf-8
"""
@author: 侠之大者kamil
@file: 4 tips.py
@time: 2016/4/6 14:40
"""
a_list = []
for i in range(5):
    a_list.append(0)
print(a_list)   #[0, 0, 0, 0, 0]
b_list = [0] * 5
print(b_list)   #[0, 0, 0, 0, 0]
c_list = [[0]] * 5 #如果你列表包含了列表,这样做会产生浅拷贝。
print(c_list)   #[[0], [0], [0], [0], [0]]
c_list[0][0] = 1
print(c_list)   #[[1], [1], [1], [1], [1]] #浅拷贝
d_list = [ [0] for i in range(5)]
print(d_list)   #[[0], [0], [0], [0], [0]]
d_list[0][0] = 1
print(d_list)   #[[1], [0], [0], [0], [0]]

 5. 构造字符串

(.format 和 + 和 %())

#!/usr/bin/env python
# encoding: utf-8
"""
@author: 侠之大者kamil
@file: 5 tips.py
@time: 2016/4/6 17:53
"""
name = 'Kmail.Liu'
age = '23'
work = 'IT'
string = "Hello my name is "+ name + ";\nand I'm " + str(age) +  "\nMy job is " + work + "."
print(string)
print("Hello my name is %s \nand I'm %s \nMy job is %s" %(name,age,work))
print("Hello my name is {0} \nand I'm {1} \nMy job is {2}.".format(name,age,work))

结果:

C:\Python34\python.exe "D:/kamil/Documents/py/技巧0406/5 tips.py"
Hello my name is Kmail.Liu;
and I'm 23
My job is IT.
Hello my name is Kmail.Liu 
and I'm 23 
My job is IT
Hello my name is Kmail.Liu 
and I'm 23 
My job is IT.

Process finished with exit code 0

 

posted @ 2016-04-06 14:30  侠之大者kamil  阅读(148)  评论(0编辑  收藏  举报