python小技巧

能调用方法的一定是对象。

li = [1,2,3]
li.append('2')
'acv'.capitalize()
技巧#1

字符串翻转

a = 'codementor'
print 'Reverse is',a[::-1]
(Reverse is rotnemedoc)
技巧#2

矩阵转置

mat = [[1,2,3],[4,5,6]]
zip(*mat)

矩阵转置

自己喜欢的一种写法:

1.
def trans(m):
    a = [[] for i in m[0]]#mark 学习这种写法
    for i in m:
        for j in range(len(i)):
            a[j].append(i[j])
    return a

m = [[1, 2,3], [3, 4], [5, 6]]
print trans(m)
2.
def trans(m):
    d = dict(m)
    return [d.keys(), d.values()]
技巧#3

a = [1,2,3]
将列表中的三个元素拆分成三个变量:

a = [1,2,3]
x,y,z = a
技巧#4

a = ['Code','mentor','Python','Developer']
将字符串列表拼接成一个字符串

print ' '.join(a)

python join函数

Python中有join()和os.path.join()两个函数,具体作用如下:
join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
os.path.join(): 将多个路径组合后返回

技巧#5

List1 = ['a','b','c','d']
List2 = ['p','q','r','s']
编写Python代码,实现下面的输出:
ap
bq
cr
ds

for x,y in zip(List1,List2):
    print x,y

python中zip()函数的用法
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

技巧#6

仅用一行代码实现两个变量的交换

a = 7
b = 5
b,a = a,b
技巧#7

不适用循环,输出‘codecodecodecodementormentormentormentormentor'

print 4*'code'+5*'mentor'
技巧#8

a = [[1,2],[3,4],[5,6]]
不适用循环,将其转变成单个列表
输出:[1,2,3,4,5,6]

a = [[1, 2], [3, 4], [5, 6]]
print list(itertools.chain.from_iterable(a))

itertools

你可能感兴趣的:(python小技巧)