+4

Python : 10 tricks ngắn gọn dành cho những người mới bắt đầu

Trick #1 Đảo ngược chuỗi trong python :

>>> a =  "codementor"
>>> print "Reverse is",a[::-1]
Reverse is rotnemedoc

Trick #2 Chuyển vị một ma trận :

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

Trick #3 Lưu trữ tất cả 3 giá trị của 1 list vào 3 biến mới :

>>> a = [1, 2, 3]
>>> x, y, z = a 
>>> x
1
>>> y
2
>>> z
3

Trick #4

a = ["Code", "mentor", "Python", "Developer"] Tạo một chuỗi đơn từ các phần tử ở list trên :

>>> print " ".join(a)
Code mentor Python Developer

Trick #5

List 1 = ['a', 'b', 'c', 'd'] List 2 = ['p', 'q', 'r', 's'] Viết 1 đoạn code để in ra :

  • ap
  • bq
  • cr
  • ds
>>> for x, y in zip(list1,list2):
...    print x, y
...
a p
b q
c r
d s

Trick #6 Hoán đổi 2 số chỉ trên 1 dòng code :

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

Trick #7 In ra "codecodecodecode mentormentormentormentormentor" mà không sử dụng vòng lặp :

>>> print "code"*4+' '+"mentor"*5
codecodecodecode mentormentormentormentormentor

Trick #8

a = [[1, 2], [3, 4], [5, 6]] Chuyển list bên trên sang 1 single list mà không sử dụng vòng lặp : Output:- [1, 2, 3, 4, 5, 6]

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

Trick #9 Kiểm tra 2 từ đã thay đổi vị trí :

def is_anagram(word1, word2):
    """Checks whether the words are anagrams.
    word1: string
    word2: string
    returns: boolean
    """

Hoàn thành phương thức trên để tìm ra nếu 2 từ có thay đổi vị trí :

from collections import Counter
def is_anagram(str1, str2):
     return Counter(str1) == Counter(str2)
>>> is_anagram('abcd','dbca')
True
>>> is_anagram('abcd','dcaa')
False

Trick #10. Nhận 1 chuỗi đầu vào trả về 1 list :

Ví dụ "1 2 3 4" và trả về [1, 2, 3, 4] Nhớ rằng list được trả về chỉ chứa kiểu in Vì vậy chỉ cần sử dụng 1 dòng code :

>>> result = map(int, raw_input().split())
1 2 3 4
>>> result
[1, 2, 3, 4]

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí