Skip to main content

Python cheatsheet for beginner


View on Github

Recommended

Writing shorthand statements in python

Python is having shorthand statements and shorthand operators. These things will help you write more logic with less number of statements.
We will see those available shorthand statements.

lambda statement

Probably every body is aware of the lambda functions. The statement lambda is helpful to write single line functions with out naming a function. This will return the function reference where you can assign it to any arbitrary variable. It's more like JavaScript anonymous functions.
foo = lambda a: a+3
foo(3)
6
foo(8)
11

SELF CALLED LAMBDA

You can write the lambda and you can make it call it self like self-invoking functions in javascript. Let's see an example.
(lambda a: a+3)(8)
11
(lambda x: x**x)(3)
27

List Comprehension

List Comprehension is the great feature that python is having. Using this feature you can reduce the lot of code, you can reduces space complexity of the code. Simple for loops can be written using list comprehension.
Syntax:
L = [ mapping-expression for element in source-list if filter-expression ]
Where:
L Variable, result gets assigned to
mapping-expression Expression, which is executed on every loop if only filter-expression > in if condition resolved as True
This list comprehension is equivalent to.
result = []
for element in source-list:
  if filter-expression:
    result.append(mapping-expression)

EXAMPLE

Lets see list comprehension example. Get even number from the given range.
  • Usual code
result = []
for i in range(10):
  if i%2 == 0:
    result.append(i)

print(result)
[0, 2, 4, 6, 8]
  • List Comprehension
[i for i in range(10) if i%2==0]
[0, 2, 4, 6, 8]

Dict Comprehension

Dict comprehension is available in python 2.7 and 3.x. This syntax will provide you the way to encapsulate several lines you use to create dictionaries into one line. It's is similar to list comprehension but we use dict literals {} instead of [].
Syntax:
{key:value for element in source-list if filter-expression }
Let's how we use it by an example.
I have a list of fruits, I want to make it dictionary by changing their case
['APPLE', 'MANGO', 'ORANGE']
I want to convert all keys into lower case. This is we would do with out using comprehension.
l = ['MANGO', 'APPLE', 'ORANGE']

d = {}

for i in l:
  d[i.upper()] = 1

{'ORANGE': 1, 'MANGO': 1, 'APPLE': 1}
Using Simple list comprehension.
{i.upper(): 1 for i in l}

Set Comprehension

Set comprehension syntax is very much similar to dict comprehension with a small difference.
Let’s consider dict comprehension example. Using following statement you generate set
{i.upper() for i in l}
Where we haven’t specified value like we do in dict comprehension

Generator Expression

You might have already know about generators. Any function which contains yield statment is called generator. generator gives iterable where we can call next method to get the next item in the sequence. Python got short notation for this generators like lambda. It is same as list comprehension but we enclose the expression with touple literals instead.
  • GENERATOR FUNCTION
def gen():
  for i in range(10):
    yield i 
g = gen()
<generator object gen at 0x7f60fa104410>
g.next()
0
g.next()
1
  • GENERATOR EXPRESSION
Same generator function can written as follow.
g = (i for i in range(10))
g
<generator object <genexpr> at 0x7f60fa1045f0>
g.next()
0

Shorthand If Else

Like C and javascript ternary operator (?:) you can write short hand if-else comparison. By taking readability into account we have following syntax in python
if-expression if (condition) else else-expression
This is equivalent to.
if True:
  print("This is True")
else:
  print("This is False")

Tuple Unpacking

Python 3 even more powerful unpacking feature. Here it is.
Example:
a, rest = [1, 3, 4, 6]
In this case, a will get 1 and rest of the list will get assigned to variable rest. i.e [3, 4, 6]

String Concatenation with delimiter

If you want to concatenate list of strings with some random delimiter. You can do that by using string method join
" || ".join(["hello", "world", "how", "are", "you"])

'hello || world || how || are || you'

Powerful One-Liners

Are you tired of reading through lines of code and getting lost in conditional statements? Python one-liners might just be what you are looking for. For example, the conditional statements.
if alpha > 7:
   beta = 999
elif alpha == 7:
   beta = 99
else:
   beta = 0
can really be simplified to:
beta = 999 if alpha > 7 else 99 if alpha == 7 else 0

Removing duplicates items from a list

Most of the time we wanted to remove or find the duplicate item from the list. Let see how to delete duplicate from a list. The best approach is to convert a list into a set. Sets are unordered data-structure of unique values and don’t allow copies.
listNumbers = [20, 22, 24, 26, 28, 28, 20, 30, 24]
print("Original= ", listNumbers)

listNumbers = list(set(listNumbers))
print("After removing duplicate= ", listNumbers)

How to efficiently compare two unordered lists

Above two lists contains the same element only their order is different. Let see how we can find two lists are identical.
  • We can use collections.Counter method if our object is hashable.
  • We can use sorted() if objects are orderable.
from collections import Counter

one = [33, 22, 11, 44, 55]
two = [22, 11, 44, 55, 33]
print("is two list are b equal", Counter(one) == Counter(two))

Convert Byte to String

To convert byte to string we can decode the bytes object to produce a string. You can decode in the charset you want.
byteVar = b"pynative"
str = str(byteVar.decode("utf-8"))
print("Byte to string is" , str )

Convert hex string, String to int

hexNumber = "0xfde"
stringNumber="34"

print("Hext toint", int(hexNumber, 0))
print("String to int", int(stringNumber, 0))

Comments

Popular posts from this blog

Hướng dẫn cài đặt HĐH Kali Linux trên máy thật

Để cài đặt được HĐH Kali Linux trên máy thật các bạn chỉ cần chuẩn bị như sau: 1- USB >=4GB 2- Phiên bản Linux muốn cài đặt (Tải tại đây) 3- Tải win32 disk imager  (Tải tại đây)    Vậy là đã chuẩn bị xong ! TIẾP TỤC: Bước 1 . Khởi động chương trình UUI. Chọn I Agree. Bước 2 . Cấu hình UUI. Step 1: Select a Linux Distribution from the dropdown to put on your USB : Chọn hệ điều hành cần tạo, bạn chọn Kali Linux. Step 2: Select your Kali*.iso : Chọn file cài cài đặt Kali Linux. Lưu ý: tên file phải bắt đầu bằng Kali và kết thúc bằng .iso . Step 3: Select your USB Flash Drive Letter Only: Chọn thiết bị USB của bạn. Check vào We will format E:\ Drive as Fat32 để format lại USB của bạn. Cấu hình UUI Cảnh báo Format USB hiện lên, bạn chọn Yes để bắt đầu tiến trình. Cảnh báo format, chọn Yes. Tiến trình format và tạo USB Boot Kali Linux bắt đầu. Format và gắn nhãn UUI. Bắt đầu giải nén file .iso. Quá trình giải nén. Bước 3 . Hoàn t...

Hướng dẫn cài LibreOffice trên Kali Linux

Xin chào mọi người ! Một số bạn không biết cài bộ công cụ văn phòng nào cho máy tính cài HĐH Kali Linux. Hôm nay mình sẽ hướng dẫn cho các bạn cài  LibreOffice trên Kali Linux. Nó giống như bộ Office của Microsoft và trên thực tế thì không bằng Microsoft được đâu. Việc cài đặt bộ Office này khá là đơn giản. Đầu tiên để cài thì bạn hãy tải LibreOffice phù hợp với phiên bản của máy tính đang sử dụng. Như của mình hiện tại là phiên bản LibreOffice_5.2.4 + Link Download (Download) Hãy tải phiên bản mới nhất có đuôi *.deb cho dễ cài đặt. Sau khi tải xong có 2 cách để các bạn cài đặt nó: + Cách 1: Sử dụng phần mềm Gdebi để cài đặt các file *.deb một cách dễ dàng. Tuy nhiên rất hay bị lỗi và không cài đặt được. + Cách 2: (Nên theo cách này) 1- Giải nén file LibreOffice ra. 2- Mở Terminal ra gõ:   ~# cd Downloads Các bạn có thể dùng lệnh ls để biết chính xác tên thư mục của mình và copy paste cho chuẩn. Tiếp sau đó thì gõ:   ~# cd LibreOffice_5....

Xóa phần tử Duplicates trong mảng sử dụng ES6

Dưới đây là 3 cách để lọc các phần tử trùng nhau (duplicates) trong mảng và trả về những giá trị duy nhất. Tôi thích sử dụng Set bởi vì nó ngắn và đơn giản. 1. Sử dụng Set: Đầu tiên sẽ tìm hiểu Set là gì: Set là một đối tượng mới được giới thiệu trong ES6. Bởi vì Set chỉ cho lưu trữ các giá trị duy nhất. Khi bạn truyền vào nó 1 mảng thì nó sẽ xóa những giá trị trùng lặp. Okay, chúng ta sẽ nhìn những đoạn code sau để hiểu hơn về Set: 1. Đầu tiên, chúng ta sẽ tạo 1 Set mới bằng cách truyền vào cho nó 1 mảng. Bởi vì Set chỉ nhận các giá trị duy nhất lên sẽ xóa các phần tử trùng lặp. 2. Bây giờ các phần tử trùng nhau biến mất, chúng ta sẽ convert nó lại thành mảng bằng cách sử dụng toán tử ... Convert Set sang mảng sử dụng Array.from Ngoài ra, bạn có thể sử dụng Array.from để convert Set sang mảng: 2. Sử dụng filter: Để hiểu hơn về cách này, chúng ta sẽ xem qua cách 2 phương thức hoạt động: indexOf và filter. indexOf Phương thức indexOf sẽ trả về vị trí ...