技巧 #1
字符串翻转
>>> a = "codementor">>> print "Reverse is",a[::-1]翻转后的结果为 rotnemedoc
技巧 #2
矩阵转置
>>> mat = [[1, 2, 3], [4, 5, 6]]>>> zip(*mat)[(1, 4), (2, 5), (3, 6)]
技巧 #3
a = [1,2,3]
将列表中的三个元素分拆成三个变量
>>> a = [1, 2, 3]>>> x, y, z = a>>> x1>>> y2>>> z3
技巧 #4
a = ["Code", "mentor", "Python", "Developer"]
将字符串列表拼接成一个字符串
>>> print " ".join(a)Code mentor Python Developer
技巧 #5
List 1 = ['a', 'b', 'c', 'd']
List 2 = ['p', 'q', 'r', 's']
编写 Python 代码,实现下面的输出
- ap
- bq
- cr
- ds
>>> for x, y in zip(list1,list2):... print x, y...a pb qc rd s
技巧 #6
仅用一行代码实现两个变量的交换
>>> a=7>>> b=5>>> b, a =a, b>>> a5>>> b7
技巧 #7
不使用循环,输出 "codecodecodecode mentormentormentormentormentor"
>>> print "code"*4+' '+"mentor"*5codecodecodecode mentormentormentormentormentor
技巧 #8
a = [[1, 2], [3, 4], [5, 6]]
不使用循环,将其转变成单个列表
输出:- [1, 2, 3, 4, 5, 6]
>>> import itertools>>> list(itertools.chain.from_iterable(a))[1, 2, 3, 4, 5, 6]
技巧 #9
检查一个单词和另一个单词是否只是字母顺序不同
def is_anagram(word1, word2): """检查一个单词和另一个单词是否只是字母顺序不同 word1: string word2: string returns: boolean """
将上面的函数补充完毕,以检查一个单词和另一个单词是否只是字母顺序不同
from collections import Counterdef is_anagram(str1, str2): return Counter(str1) == Counter(str2)>>> is_anagram('abcd','dbca')True>>> is_anagram('abcd','dbaa')False
技巧 #10.
从字符串输入中获取值
对于输入数据 1 2 3 4 我们希望得到列表 [1, 2, 3, 4] 。
请注意,列表中的元素都是 int 类型,且只能使用一行代码。
>>> result = map(lambda x:int(x) ,raw_input().split())1 2 3 4>>> result[1, 2, 3, 4]