30 minimalist Python codes, just take them and use them!

What is the fastest way to learn Python? Of course, it is to practice various small projects. Only by thinking and writing by yourself can you remember the rules.

This article is 30 small Python tasks that beginners can try to implement on their own.

There are also 30 pieces of code. Python developers can also see if there are any unexpected uses.

1 Duplicate element determination

The following method checks if there are duplicate elements in a given list. It uses the set() function to remove all duplicate elements.

def all_unique(lst):
return len(lst)== len(set(lst))
x = [1,1,2,2,3,2,3,4,5,6]
y = [1,2,3,4,5]
all_unique(x) # False
all_unique(y) # True

2  character element composition determination

Check whether the elements of two strings are the same.

from collections import Counter
def anagram(first, second):
return Counter(first) == Counter(second)
anagram("abcd3", "3acdb") # True

3Memory  usage

import sys
variable = 30
print(sys.getsizeof(variable)) # 24

4  bytes occupied

The following code block checks the number of bytes occupied by a string.

def byte_size(string):
return(len(string.encode('utf-8')))
byte_size('') # 4
byte_size('Hello World') # 11

5Print  the string N times

This code block prints the string N times without looping.

n = 2
s ="Programming"
print(s * n)
# ProgrammingProgramming

6  Capitalize the first letter

The following code block uses the title() method to capitalize the first letter of each word in a string.

s = "programming is awesome"
print(s.title())
# Programming Is Awesome

7 chunks

Given a specific size, define a function to cut the list according to this size.

from math import ceil
def chunk(lst, size):
return list(
map(lambda x: lst[x * size:x * size + size],
list(range(0, ceil(len(lst) / size)))))
chunk([1,2,3,4,5],2)
# [[1,2],[3,4],5]

8 compression

This method can remove Boolean values, such as (False, None, 0, ""), which uses the filter() function.

def compact(lst):
return list(filter(bool, lst))
compact([0, 1, False, 2, '', 3, 'a', 's', 34])
# [ 1, 2, 3, 'a', 's', 34 ]

9 Unpack

The following code snippet can unpack the packed pair list into two different sets of tuples.

array = [['a', 'b'], ['c', 'd'], ['e', 'f']]
transposed = zip(*array)
print(transposed)
# [('a', 'c', 'e'), ('b', 'd', 'f')]

10 chain comparison

We can compare multiple different elements using different operators in one line of code.

a = 3
print( 2 < a < 8) # True
print(1 == a < 2) # False

11 comma concatenation

The following code concatenates the list into a single string, with commas separating each element.

hobbies = ["basketball", "football", "swimming"]
print("My hobbies are: " + ", ".join(hobbies))
# My hobbies are: basketball, football, swimming

12 Vowel Statistics

The following method will count the number of vowels ('a', 'e', ​​'i', 'o', 'u') in a string, which is done through regular expressions.

import re
def count_vowels(str):
return len(len(re.findall(r'[aeiou]', str, re.IGNORECASE)))
count_vowels('foobar') # 3
count_vowels('gym') # 0

13. Lowercase first letter

The following method will make the first character of the given string lowercase.

def decapitalize(string):
return str[:1].lower() + str[1:]
decapitalize('FooBar') # 'fooBar'
decapitalize('FooBar') # 'fooBar'

14 Expand list

This method will recursively expand a nested list into a single list.

def spread(arg):
ret = []
for i in arg:
if isinstance(i, list):
ret.extend(i)
else:
ret.append(i)
return ret
def deep_flatten(lst):
result = []
result.extend(
spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))
return result
deep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]

15 list difference

This method will return the elements of the first list that are not in the second list. If you want to feed back the unique elements of the second list at the same time, you need to add set_b.difference(set_a).

def difference(a, b):
set_a = set(a)
set_b = set(b)
comparison = set_a.difference(set_b)
return list(comparison)
difference([1,2,3], [1,2,4]) # [3]

16 Taking difference through function

The following method first applies a given function, and then returns the list elements with different results after applying the function.

def difference_by(a, b, fn):
b = set(map(fn, b))
return [item for item in a if fn(item) not in b]
from math import floor
difference_by([2.1, 1.2], [2.3, 3.4],floor) # [1.2]
difference_by([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], lambda v : v['x'])
# [ { x: 2 } ]

17 Chained function calls

You can call multiple functions in one line of code.

def add(a, b):
return a + b
def subtract(a, b):
return a - b
a, b = 4, 5
print((subtract if a > b else add)(a, b)) # 9

18 Check for duplicates

The following code will check whether there are duplicates in two lists.

def has_duplicates(lst):
return len(lst) != len(set(lst))
x = [1,2,3,4,5,5]
y = [1,2,3,4,5]
has_duplicates(x) # True
has_duplicates(y) # False

19 Merge two dictionaries

The following method will be used to merge two dictionaries.

def merge_two_dicts(a, b):
c = a.copy() # make a copy of a 
c.update(b) # modify keys and values of a with the once from b
return c
a={'x':1,'y':2}
b={'y':3,'z':4}
print(merge_two_dicts(a,b))
#{'y':3,'x':1,'z':4}

In Python 3.5 or higher, we can also merge dictionaries in the following way:

def merge_dictionaries(a, b)
return {**a, **b}
a = { 'x': 1, 'y': 2}
b = { 'y': 3, 'z': 4}
print(merge_dictionaries(a, b))
# {'y': 3, 'x': 1, 'z': 4}

20 Convert two lists into dictionaries

The following method will convert two lists into a single dictionary.

def to_dictionary(keys, values):
return dict(zip(keys, values))
keys = ["a", "b", "c"]
values = [2, 3, 4]
print(to_dictionary(keys, values))
#{'a': 2, 'c': 4, 'b': 3}

21 Using enumerations

We often use For loops to traverse a list, and we can also enumerate the indexes and values ​​of the list.

list = ["a", "b", "c", "d"]
for index, element in enumerate(list): 
print("Value", element, "Index ", index, )
# ('Value', 'a', 'Index ', 0)
# ('Value', 'b', 'Index ', 1)
#('Value', 'c', 'Index ', 2)
# ('Value', 'd', 'Index ', 3)

22 execution time

The following code block can be used to calculate the time taken to execute a specific code.

import time
start_time = time.time()
a = 1
b = 2
c = a + b
print(c) #3
end_time = time.time()
total_time = end_time - start_time
print("Time: ", total_time)
# ('Time: ', 1.1205673217773438e-05)

23 Try else

We can also add an else clause when using the try/except statement. If no error is triggered, this clause will be executed.

try:
2*3
except TypeError:
print("An exception was raised")
else:
print("Thank God, no exceptions were raised.")
#Thank God, no exceptions were raised.

24 element frequencies

The method below will take the most common element in the list based on element frequency.

def most_frequent(list):
return max(set(list), key = list.count)
list = [1,2,1,2,3,2,1,4,2]
most_frequent(list)

25 palindromic sequence

The following method will check whether the given string is a palindrome sequence. It first converts all letters to lowercase and removes non-English alphabetic symbols. Finally, it compares the string and the reverse string to see if they are equal. If equal, it is represented as a palindrome sequence.

def palindrome(string):
from re import sub
s = sub('[\W_]', '', string.lower())
return s == s[::-1]
palindrome('taco cat') # True

26 Calculator without if-else

This piece of code can realize addition, subtraction, multiplication, division, and exponentiation without using conditional statements. It is implemented through the data structure of dictionary:

import operator
action = {
"+": operator.add,
"-": operator.sub,
"/": operator.truediv,
"*": operator.mul,
"**": pow
}
print(action['-'](50, 25)) # 25

27 Shuffle

This algorithm shuffles the order of the list elements, and it basically sorts the new list using the Fisher-Yates algorithm:

from copy import deepcopy
from random import randint
def shuffle(lst):
temp_lst = deepcopy(lst)
m = len(temp_lst)
while (m):
m -= 1
i = randint(0, m)
temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m]
return temp_lst
foo = [1,2,3]
shuffle(foo) # [2,3,1] , foo = [1,2,3]

28 Expand list

Expand all elements in the list, including sublists, into a list.

def spread(arg):
ret = []
for i in arg:if isinstance(i, list):
ret.extend(i)
else:
ret.append(i)
return ret
spread([1,2,3,[4,5,6],[7],8,9]) # [1,2,3,4,5,6,7,8,9]

29 exchange value

No additional operations are required to exchange the values ​​of two variables.

def swap(a, b):
return b, a
a, b = -1, 14
swap(a, b) # (14, -1)
spread([1,2,3,[4,5,6],[7],8,9]) # [1,2,3,4,5,6,7,8,9

30 dictionary default value

Get the corresponding Value value through Key, and set the default value in the following ways. If the get() method does not set a default value, it will return None if it encounters a non-existent Key.

d = {'a': 1, 'b': 2}
print(d.get('c', 3)) # 3

Guess you like

Origin blog.csdn.net/m0_59595915/article/details/132622865