1
Write a post

10 Neat Python Tricks Beginners Should Know

Published Dec 02, 2015Last updated Mar 07, 2017
10 Neat Python Tricks Beginners Should Know

Trick #1

Reversing a string in Python

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

Trick #2

Transposing a Matrix

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

Trick #3

a = [1,2,3]

Store all three values of the list in 3 new variables

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

Trick #4

a = ["Code", "mentor", "Python", "Developer"]

Create a single string from all the elements in list above.

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

Trick #5

List 1 = ['a', 'b', 'c', 'd']

List 2 = ['p', 'q', 'r', 's']

Write a Python code to print

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

Trick #6

Swap two numbers with one line of code.

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

Trick #7

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

Trick #8

a = [[1, 2], [3, 4], [5, 6]]

Convert it to a single list without using any loops.

Output:- [1, 2, 3, 4, 5, 6]

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

Trick #9

Checking if two words are anagrams

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

Complete the above method to find if two words are anagrams.

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

Trick #10.

Taking a string input.

For example "1 2 3 4" and return [1, 2, 3, 4]

Remember list being returned has integers in it.
Don't use more than one line of code.

>>> result = map(lambda x:int(x) ,raw_input().split())
1 2 3 4
>>> result
[1, 2, 3, 4]
Discover and read more posts from Sumit Raj
get started
Enjoy this post?

Leave a like and comment for Sumit

20
26
26Replies
kingpowerboy2014
17 days ago

I think some are wrong because the only code I can type in Python is number 3

Vinyas
20 days ago

#10
I think this could be better

map(int,raw_input().split())

Sumit Raj
20 days ago

Agreed

はりぺこ
20 days ago

#9

def is_anagram(str1, str2):
    return sorted(str1) == sorted(str2)

 >>> is_anagram('abcd','dbca')
True
 >>> is_anagram('abcd','dbaa')
False
Sumit Raj
20 days ago

Complexity-wise this is not a very wise solution. Suppose if the string is a million character long.

Yevgeniy Klyuyev
19 days ago

True, but anagram is rather a real language thing, i.e we’re dealing with real words, which normally are not that long.

Show more replies

Get curated posts in your inbox

Learn programming by reading more posts like this