30 practical Python scripts that are ready to use!

文章来源:数据分析与统计学之美

Hello everyone, I am Brother Tao. Today I will share with you 30 practical Python scripts that are ready to use. The full text is about 5,000 words and takes 10 minutes to read.

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 scripts 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) # Falseall_unique(y) # True

2

Character element composition determination

Check whether the elements of two strings are the same.

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

3

Memory 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('') # 4byte_size('Hello World') # 11

5

Print string N times

This code block prints the string N times without looping.

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

6

Capitalize 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

Block

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

from math import ceildef 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 redef count_vowels(str):    return len(len(re.findall(r'[aeiou]', str, re.IGNORECASE)))count_vowels('foobar') # 3count_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 retdef deep_flatten(lst):    result = []    result.extend(spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))    return resultdeep_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 by 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 floordifference_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 + bdef subtract(a, b):    return a - ba, b = 4, 5print((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 ca={'x':1,'y':2}b={'y':3,'z':4}print(merge_two_dicts(a,b))#{'y':3,'x':1,'z':4}

在 Python 3.5 或更高版本中,我们也可以用以下方式合并字典:
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

Use 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 run.

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

24

element frequency

The following method 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.

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

26

Calculator without if-else

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

 
  
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 retspread([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, aa, b = -1, 14swap(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

Organizing useful notes

  100 Frequently Asked Questions about Reptiles.pdf, so comprehensive!

124 Python cases, complete source code!

PYTHON 3.10 Chinese version official documentation

"The Road to Python 2.0.pdf", which took three months to compile, is open for download

The most classic programming textbook "Think Python" open source Chinese version.PDF download

Great sense of accomplishment

be1053be4f0ff243687378444137a967.png

Guess you like

Origin blog.csdn.net/wuShiJingZuo/article/details/132913628