首頁 > 後端開發 > Python教學 > Python 程式碼片段

Python 程式碼片段

WBOY
發布: 2024-09-07 14:31:02
原創
1260 人瀏覽過

Python Code Snippets

陣列

清單

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

# Creating a list

my_list = []

my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

# List of different data types

mixed_list = [1, "hello", 3.14, True]

 

# Accessing elements

print(my_list[0])  # Output: 1

print(my_list[-1]) # Output: 5

 

# Append to the end

my_list.append(6)

 

# Insert at a specific position

my_list.insert(2, 10)

 

# Find an element in an array

index=my_list.find(element)

 

# Remove by value

my_list.remove(10)

 

# Remove by index

removed_element = my_list.pop(2)

 

# Length of the list

print(len(my_list))

 

# Slicing [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# sequence[start:stop:step]

 

print(my_list[1:4])  # Output: [1, 2, 3]

print(my_list[5:])  # Output: [5, 6, 7, 8, 9]

print(my_list[:5])  # Output: [0, 1, 2, 3, 4]

print(my_list[::2])  # Output: [0, 2, 4, 6, 8]

print(my_list[-4:])  # Output: [6, 7, 8, 9]

print(my_list[:-4])  # Output: [0, 1, 2, 3, 4, 5]

print(my_list[::-1])  # Output: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

print(my_list[8:2:-2])  # Output: [8, 6, 4]

print(my_list[1:8:2])  # Output: [1, 3, 5, 7]

print(my_list[-2:-7:-1])  # Output: [8, 7, 6, 5, 4]

 

# Reversing a list

my_list.reverse()

 

# Sorting a list

my_list.sort()

登入後複製

排列組合

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

import itertools

 

# Example list

data = [1, 2, 3]

 

# Generating permutations of the entire list

perms = list(itertools.permutations(data))

print(perms)

# Output: [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

 

# Generating permutations of length 2

perms_length_2 = list(itertools.permutations(data, 2))

print(perms_length_2)

# Output: [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]

 

combinations(iterable, r) #order does not matter

登入後複製

手動產生排列
您也可以使用遞歸手動產生排列。這是一個簡單的實作:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

def permute(arr):

    result = []

 

    # Base case: if the list is empty, return an empty list

    if len(arr) == 0:

        return [[]]

 

    # Recursive case

    for i in range(len(arr)):

        elem = arr[i]

        rest = arr[:i] + arr[i+1:]

        for p in permute(rest):

            result.append([elem] + p)

 

    return result

登入後複製

堆疊

(列表可以用作堆疊)

1

2

3

4

st=[]

st.append()

st.pop()

top_element = stack[-1]

登入後複製

尖端

1) 脫衣:
它用於從字串中刪除前導和尾隨空格(或其他指定字元)

1

2

#EX. (1,2) to 1,2

s.strip('()')

登入後複製

2)不要用普通字典

1

2

from collections import defaultdict

dictionary=defaultdict(int)

登入後複製

3) 重要檢查與轉換

1

2

3

4

5

6

7

s.isdigit()

s.isalpha()

s.isalnum()

s.islower()

s.isupper()

s.lower()

s.upper()

登入後複製

4) 重要

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

round(number, decimal_digits)

ord(each)-ord('a')+1 # value of an alphabet

#/ (Floating-Point Division)

#// (Floor Division)

maxim = float('-inf')

minim = float('inf')

unique_lengths.sort(reverse=True)

s.count('x')

 

list1 = [1, 2, 3]

iterable = [4, 5, 6]

list1.extend(iterable)

 

position.replace('(', '').replace(')', '')

 

expression = "2 + 3 * 4"

result = eval(expression)

print(result)

 

#Determinant

import numpy as

arr=[[1,2,3],[3,4,5],[5,6,7]]

print(np.linalg.det(np.array(arr)))

登入後複製

已排序

1

2

3

4

5

6

7

8

9

10

11

my_list = [3, 1, 4, 1, 5]

sorted_list = sorted(my_list)

 

my_tuple = (3, 1, 4, 1, 5)

sorted_list = sorted(my_tuple)

 

my_dict = {'apple': 3, 'banana': 1, 'cherry': 2}

sorted_keys = sorted(my_dict)

 

my_list = [3, 1, 4, 1, 5]

sorted_list = sorted(my_list, reverse=True)

登入後複製

列舉

1

2

3

my_list = ['a', 'b', 'c']

for index, value in enumerate(my_list):

    print(index, value)

登入後複製

透過物件引用傳遞

不可變類型(如整數、字串、元組):

1

2

3

4

5

6

7

def modify_immutable(x):

    x = 10  # Rebinding the local variable to a new object

    print("Inside function:", x)

 

a = 5

modify_immutable(a) #prints 10

print("Outside function:", a) #prints 5

登入後複製

可變類型(如列表、字典、集合):

1

2

3

4

5

6

7

def modify_mutable(lst):

    lst.append(4)  # Modifying the original list object

    print("Inside function:", lst)

 

my_list = [1, 2, 3]

modify_mutable(my_list) # [1,2,3]

print("Outside function:", my_list) # [1,2,3,4]

登入後複製

Numpy 數組(用於數值運算)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

import numpy as np

 

# Creating a 1D array

arr_1d = np.array([1, 2, 3, 4, 5])

 

# Creating a 2D array

arr_2d = np.array([[1, 2, 3], [4, 5, 6]])

 

# Creating an array filled with zeros

zeros = np.zeros((3, 4))

 

# Creating an array filled with ones

ones = np.ones((2, 3))

 

# Creating an array with a range of values

range_arr = np.arange(0, 10, 2)

 

# Creating an array with evenly spaced values

linspace_arr = np.linspace(0, 1, 5)

 

# Creating an identity matrix

identity_matrix = np.eye(3)

 

# Shape of the array

shape = arr_2d.shape  # Output: (2, 3)

 

# Size of the array (total number of elements)

size = arr_2d.size  # Output: 6

 

# Element-wise addition

arr_add = arr_1d + 5  # Output: array([6, 7, 8, 9, 10])

 

# Element-wise subtraction

arr_sub = arr_1d - 2  # Output: array([ -1, 0, 1, 2, 3])

 

# Element-wise multiplication

arr_mul = arr_1d * 2  # Output: array([ 2, 4, 6, 8, 10])

 

# Element-wise division

arr_div = arr_1d / 2  # Output: array([0.5, 1. , 1.5, 2. , 2.5])

 

# Sum

total_sum = np.sum(arr_2d)  # Output: 21

 

# Mean

mean_value = np.mean(arr_2d)  # Output: 3.5

 

# Standard deviation

std_dev = np.std(arr_2d)  # Output: 1.707825127659933

 

# Maximum and minimum

max_value = np.max(arr_2d)  # Output: 6

min_value = np.min(arr_2d)  # Output: 1

 

# Reshaping

reshaped_arr = arr_1d.reshape((5, 1))

 

# Flattening

flattened_arr = arr_2d.flatten()

 

# Transposing

transposed_arr = arr_2d.T

 

# Indexing

element = arr_2d[1, 2]  # Output: 6

 

# Slicing

subarray = arr_2d[0:2, 1:3]  # Output: array([[2, 3], [5, 6]])

登入後複製

阿斯型

它是 NumPy 中的一個函數,用於將 numpy 數組轉換為不同的資料類型。

1

2

3

4

5

6

7

8

9

10

11

# Datatypes: np.int32,np.float32,np.float64,np.str_

import numpy as np

 

# Create an integer array

int_array = np.array([1, 2, 3, 4, 5], dtype=np.int32)

 

# Convert to float

float_array = int_array.astype(np.float32)

 

print("Original array:", int_array)

print("Converted array:", float_array)

登入後複製

重塑

它是一個強大的工具,可以在不改變數組資料的情況下改變數組的形狀

1

2

3

4

5

6

7

import numpy as np

 

# Create a 1D array

array = np.arange(12)

 

# Reshape to a 2D array (3 rows x 4 columns)

reshaped_array = array.reshape((3, 4))

登入後複製

Matplotlib

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

import numpy as np

import matplotlib.pyplot as plt

 

# Create a random 2D array

data = np.random.rand(10, 10)

 

# Create a figure with a specific size and resolution

plt.figure(figsize=(8, 6), dpi=100)

 

# Display the 2D array as an image

plt.imshow(data, cmap='viridis', interpolation='nearest')

 

# Add a color bar to show the scale of values

plt.colorbar()

 

# Show the plot

plt.show()

登入後複製

字典

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

# Creating an empty dictionary

# Maintains ascending order like map in cpp

my_dict = {}

 

# Creating a dictionary with initial values

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}

 

# Creating a dictionary using the dict() function

my_dict = dict(name='Alice', age=25, city='New York')

 

# Accessing a value by key

name = my_dict['name']  # Output: 'Alice'

 

# Using the get() method to access a value

age = my_dict.get('age')  # Output: 25

country = my_dict.get('country')  # Output: None

 

# Adding a new key-value pair

my_dict['email'] = 'alice@example.com'

 

# Updating an existing value

my_dict['age'] = 26

 

# Removing a key-value pair using pop()

age = my_dict.pop('age')  # Removes 'age' and returns its value

 

# Getting all keys in the dictionary

keys = my_dict.keys()  # Output: dict_keys(['name', 'email'])

 

# Getting all values in the dictionary

values = my_dict.values()  # Output: dict_values(['Alice', 'alice@example.com'])

 

# Iterating over keys

for key in my_dict:

    print(key)

 

# Iterating over values

for value in my_dict.values():

    print(value)

 

# Iterating over key-value pairs

for key, value in my_dict.items():

    print(f"{key}: {value}")

登入後複製

預設字典

1

2

3

4

5

6

7

from collections import defaultdict

 

d = defaultdict(int)

 

# Initializes 0 to non-existent keys

d['apple'] += 1

d['banana'] += 2

登入後複製

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

# Creating an empty set

my_set = set()

 

# Creating a set with initial values

my_set = {1, 2, 3, 4, 5}

 

# Creating a set from a list

my_list = [1, 2, 3, 4, 5]

my_set = set(my_list)

 

# Creating a set from a string

my_set = set('hello')  # Output: {'e', 'h', 'l', 'o'}

 

# Adding an element to a set

my_set.add(6)  # my_set becomes {1, 2, 3, 4, 5, 6}

 

# Removing an element from a set (raises KeyError if not found)

my_set.remove(3)  # my_set becomes {1, 2, 4, 5, 6}

 

# Removing and returning an arbitrary element from the set

element = my_set.pop()  # Returns and removes an arbitrary element

登入後複製

細繩

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

# Single quotes

str1 = 'Hello'

 

# Double quotes

str2 = "World"

 

# Triple quotes for multi-line strings

str3 = '''This is a

multi-line string.'''

 

# Raw strings (ignores escape sequences)

raw_str = r'C:\Users\Name'

 

str1 = 'Hello'

 

# Accessing a single character

char = str1[1]  # 'e'

 

# Accessing a substring (slicing)

substring = str1[1:4]  # 'ell'

 

# Negative indexing

last_char = str1[-1]  # 'o'

 

# Using + operator

concatenated = 'Hello' + ' ' + 'World'  # 'Hello World'

 

# Using join method

words = ['Hello', 'World']

concatenated = ' '.join(words)  # 'Hello World'

 

name = 'Alice'

age = 25

 

# String formatting

formatted_str = f'My name is {name} and I am {age} years old.'

 

# Convert to uppercase

upper_str = str1.upper()  # 'HELLO WORLD'

 

# Convert to lowercase

lower_str = str1.lower()  # 'hello world'

 

# Convert to capitalize

capital_str = str1.capitalize()  # 'Hello world'

 

str1 = '  Hello World  '

 

# Remove leading and trailing whitespace

trimmed = str1.strip()  # 'Hello World'

 

str1 = 'Hello World Python'

 

# Split the string into a list of substrings

split_list = str1.split()  # ['Hello', 'World', 'Python']

 

# Split the string with a specific delimiter

split_list = str1.split(' ')  # ['Hello', 'World', 'Python']

 

# Join a list of strings into a single string

joined_str = ' '.join(split_list)  # 'Hello World Python'

 

str1 = 'Hello World'

 

# Find the position of a substring

pos = str1.find('World')  # 6

 

 

str1 = 'Hello123'

 

# Check if all characters are alphanumeric

is_alnum = str1.isalnum()  # True

 

# Check if all characters are alphabetic

is_alpha = str1.isalpha()  # False

 

# Check if all characters are digits

is_digit = str1.isdigit()  # False

 

# Check if all characters are lowercase

is_lower = str1.islower()  # False

 

# Check if all characters are uppercase

is_upper = str1.isupper()  # False

登入後複製

保持聯繫!
如果您喜歡這篇文章,請不要忘記在社交媒體上關注我以獲取更多更新和見解:

推特: madhavganesan
Instagram:madhavganesan
領英: madhavganesan

以上是Python 程式碼片段的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板