cython

Форк
0
/
delslice.py 
123 строки · 2.0 Кб
1
# mode: run
2
# tag: del, slicing
3

4
def del_constant_start_stop(x):
5
    """
6
    >>> l = [1,2,3,4]
7
    >>> del_constant_start_stop(l)
8
    [1, 2]
9

10
    >>> l = [1,2,3,4,5,6,7]
11
    >>> del_constant_start_stop(l)
12
    [1, 2, 7]
13
    """
14
    del x[2:6]
15
    return x
16

17

18
def del_start(x, start):
19
    """
20
    >>> l = [1,2,3,4]
21
    >>> del_start(l, 2)
22
    [1, 2]
23

24
    >>> l = [1,2,3,4,5,6,7]
25
    >>> del_start(l, 20)
26
    [1, 2, 3, 4, 5, 6, 7]
27
    >>> del_start(l, 8)
28
    [1, 2, 3, 4, 5, 6, 7]
29
    >>> del_start(l, 4)
30
    [1, 2, 3, 4]
31

32
    >>> del_start(l, -2)
33
    [1, 2]
34
    >>> l
35
    [1, 2]
36
    >>> del_start(l, -2)
37
    []
38
    >>> del_start(l, 2)
39
    []
40
    >>> del_start(l, -2)
41
    []
42
    >>> del_start(l, 20)
43
    []
44

45
    >>> del_start([1,2,3,4], -20)
46
    []
47
    >>> del_start([1,2,3,4], 0)
48
    []
49
    """
50
    del x[start:]
51
    return x
52

53

54
def del_stop(x, stop):
55
    """
56
    >>> l = [1,2,3,4]
57
    >>> del_stop(l, 2)
58
    [3, 4]
59

60
    >>> l = [1,2,3,4,5,6,7]
61
    >>> del_stop(l, -20)
62
    [1, 2, 3, 4, 5, 6, 7]
63
    >>> del_stop(l, -8)
64
    [1, 2, 3, 4, 5, 6, 7]
65
    >>> del_stop(l, -4)
66
    [4, 5, 6, 7]
67

68
    >>> del_stop(l, -2)
69
    [6, 7]
70
    >>> l
71
    [6, 7]
72
    >>> del_stop(l, -2)
73
    [6, 7]
74
    >>> del_stop(l, 2)
75
    []
76
    >>> del_stop(l, -2)
77
    []
78
    >>> del_stop(l, 20)
79
    []
80

81
    >>> del_stop([1,2,3,4], -20)
82
    [1, 2, 3, 4]
83
    >>> del_stop([1,2,3,4], 0)
84
    [1, 2, 3, 4]
85
    """
86
    del x[:stop]
87
    return x
88

89

90
def del_start_stop(x, start, stop):
91
    """
92
    >>> l = [1,2,3,4]
93
    >>> del_start_stop(l, 0, 2)
94
    [3, 4]
95
    >>> l
96
    [3, 4]
97

98
    >>> l = [1,2,3,4,5,6,7]
99
    >>> del_start_stop(l, -1, -20)
100
    [1, 2, 3, 4, 5, 6, 7]
101
    >>> del_start_stop(l, -20, -8)
102
    [1, 2, 3, 4, 5, 6, 7]
103
    >>> del_start_stop(l, -6, -4)
104
    [1, 4, 5, 6, 7]
105

106
    >>> del_start_stop(l, -20, -2)
107
    [6, 7]
108
    >>> l
109
    [6, 7]
110
    >>> del_start_stop(l, -2, 1)
111
    [7]
112
    >>> del_start_stop(l, -2, 3)
113
    []
114
    >>> del_start_stop(l, 2, 4)
115
    []
116

117
    >>> del_start_stop([1,2,3,4], 20, -20)
118
    [1, 2, 3, 4]
119
    >>> del_start_stop([1,2,3,4], 0, 0)
120
    [1, 2, 3, 4]
121
    """
122
    del x[start:stop]
123
    return x
124

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.