Python面试必懂的几个代码小技巧

file

 

 

 

技巧 #1

 

字符串翻转

>>> a =  "codementor"
>>> print "Reverse is",a[::-1]
翻转后的结果为 rotnemedoc

 PS:很多人在学习Python的过程中,往往因为遇问题解决不了或者没好的教程从而导致自己放弃,为此我整理啦从基础的python脚本到web开发、爬虫、django、数据挖掘等【PDF等】需要的可以进Python全栈开发交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题有老司机解决哦,一起相互监督共同进步

技巧 #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
>>> x
1
>>> y
2
>>> z
3

 

技巧 #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 p
b q
c r
d s

 

技巧 #6

 

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

>>> a=7
>>> b=5
>>> b, a =a, b
>>> a
5
>>> b
7

 

技巧 #7

 

不使用循环,输出 "codecodecodecode mentormentormentormentormentor"

>>> print "code"*4+' '+"mentor"*5
codecodecodecode 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 Counter
def 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]
总结:很多人在学习Python的过程中,往往因为遇问题解决不了或者没好的教程从而导致自己放弃,为此我整理啦从基础的python脚本到web开发、爬虫、django、数据挖掘等【PDF等】需要的可以进Python全栈开发交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题有老司机解决哦,一起相互监督共同进步

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值