10 个 Python 初学者必知编码小技巧

翻译 Summer ⋅ 于 1个月前 ⋅ 最后回复由 Hanyang 1周前 ⋅ 336 阅读 ⋅ 原文地址

站点的翻译文章创建时,您将第一时间收到通知。

这是一篇社区协同翻译的文章,已完成翻译,更多信息请点击 协同翻译介绍

file

技巧 #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)]
jinyu121 翻译于 1个月前

技巧 #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
jinyu121 翻译于 1个月前

技巧 #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
jinyu121 翻译于 1个月前

技巧 #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]
jinyu121 翻译于 1个月前

技巧 #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
jinyu121 翻译于 1个月前

技巧 #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]
jinyu121 翻译于 1个月前

原文地址:https://www.codementor.io/sumit12dec/pyt...

译文地址:https://pythoncaff.com/topics/244/10-pyt...


本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

文章译者

回复数量: 2
暂无评论~~
您需要登陆以后才能留下评论!

Python 3 标准库实例教程

Python 最佳实践指南