Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
каждый третий элемент строки 1
Содержание книги
- for line in (l.replace("- ", " - ") for l in open("input.dat")): print line
- print subtract(3, 2) subtract_from_3 = curry(subtract, 3) print subtract_from_3(2)
- Все данные в нем представляются объектами.
- С точки зрения объектно-ориентированного подхода,объект-это нечто,обладающее
- Интерпретатор языкаPythonвсегда может сказать,к какому типу относится объект.Однако
- Пока что вpythonесть"классические"и"новые"классы. Первые классы определяются сами по себе,а вторые обязательно ведут свою родословную от класса object. Для целей
- from sets import Set as set # тип для множества
- def getx(self): return self.__x
- Этот метод вызывается при присваивании значения некоторому атрибуту.В отличие от __getattr__(),метод всегда вызывается,а
- print ad.a, ad.b, ad.c ad.d = 512
- print get_last([1, 2, 3]) print get_last("abcd")
- gt;>> class A(object): pass
- class ABC: a = ma b = mb c = mc
- В случае,когда надклассы имеют одинаковые методы,использование того или иного метода определяется порядком разрешения методов(method resolution order). Для
- quot;""Поместить элемент на стек"""
- def __init__(self, lst, n): self.n = n
- gt;>> s = MyClass() # создается экземпляр класса
- children = [cls.convert(child) for child in val] return cls(val.node, children)
- convert = classmethod(convert)
- def my_method(self): print "self:", self
- from Multimethod import Method, Generic, AmbiguousMethodError
- Должен возвращать кортеж из аргументов,который будет
- Лекция#5:Численные алгоритмы.Матричные
- Для создания массива можно использовать функцию array() с указанием содержимого массива(в виде вложенных списков)и типа. Функция array() делает копию,если ее
- Объекты-массивы Numeric используют расширенный синтаксис выделения среза.Следующие примеры иллюстрируют различные варианты записи срезов.Функция
- каждый третий элемент строки 1
- Наименьшее(наибольшее)целое,большее(меньшее)или
- gt;>> add.accumulate([1, 2, 3, 4])
- add.reduce(a, axis). cumsum(a, axis). add.accumulate(a, axis). product(a, axis). multiply.reduce(a, axis). cumproduct(a, axis). multiply.accumulate(a, axis). alltrue(a, axis). logical_and.reduce(a, axis). sometrue(a, axis). logical_or.reduce(a, axis). Фун
- Второе измерение,образующее вместе с первым плоскость,на которой и берется
- Индекс минимального значения в массиве по заданному
- Суммирование с промежуточными результатами
- Возвращает индексы ненулевых элементов одномерного массива
- Выбор частей массива a на основе индексов indices по измерению axis
- gt;>> print "Проверка:", Numeric.dot(a, x) - b
- gt;>> print RandomArray.normal(0, 1, 30)
- negative_binomial(trials, p, shape=[])
- iso_ir_6': 'ascii', 'maccyrillic': 'mac_cyrillic', 'iso_celtic': 'iso8859_14', 'ebcdic_cp_wt': 'cp037', 'ibm500': 'cp500', ...
- sys:1: DeprecationWarning: Non-ASCII character '\xf0' in file example.py on line 2, but no encoding declared;
- В строке формата кроме текста могут употребляться спецификации,регламентирующие формат выводимого значения.Спецификация имеет синтаксис
- Восьмеричное беззнаковое целое
- File "/home/rnd/tmp/Python-2.4b2/Lib/string.py", line 172, in substitute return self.pattern.sub(convert, self.template)
- Возвращает наименьший индекс,с которого начинается вхождение подстроки sub в строку.Параметры start и end
- Удаляет пробельные символы слева
- text = open(string.__file__[:-1]).read() start = 0
- import StringIO my_string = "1234567890" f1 = StringIO.StringIO()
- Синтаксис регулярного выражения
- Фрагмент справа или фрагмент слева
- Взгляд вперед:строка должна соответствовать заданному регулярному
- Наоборот,не соответствует промежутку между символами на
>>>
print
a
6]
# исходный массив
[[ 1
[ 7
9 10 11
12]
[13 14
15 16 17
18]
[19 20
21 22 23
24]]
# элемент 1,2
>>> print a[1,2]
# строка 1
>>> print a[1,:]
[ 7
10 11 12]
# тоже строка 1
>>>
print
a[1]
[ 7
10 11 12]
# столбец 1
>>>
print
a[:,1]
[ 2
8 14
20]
# предпоследняя строка
>>>
print
a[-2,:]
[13
14 15
16 17 18]
# окно 2x2
>>>
print a[0:2,1:3]
[[2
3]
[8
9]]
# каждый третий элемент строки 1
>>>
print a[1,::3]
[ 7
10]
# элементы строк в обратном порядке
>>>
print a[:,::-1]
[[ 6
1]
[12 11
7]
[18 17
16 15 14
13]
[24 23
22 21 20
19]]
Срез не копирует массив(как это имеет место со списками),а дает доступ к некоторой части массива.Далее в примере меняется на0каждый третий элемент строки1:
>>> a[1,::3] = Numeric.array([0,0])
>>> print a
[[
6]
[
12]
[13
18]
[19
24]]
В следующих примерах находит применение достаточно редкая синтаксическая конструкция:срез с многоточием(Ellipsis).Многоточие ставится для указания произвольного числа пропущенных размерностей(:,:,...,:):
>>> import Numeric
>>> a = Numeric.arrayrange(24) + 1
>>> a.shape = (2,2,2,3)
>>> print a
[[[[
3]
[
6]]
[[
9]
[10
12]]]
[[[13
15]
[16
18]]
[[19
21]
[22
24]]]]
# 0-й блок
>>> print
a[0,...]
[[[ 1
3]
[ 4
6]]
[[ 7
9]
[10 11 12]]]
# срез по первой и последней размерностям
>>> print a[0,:,:,0]
[[
4]
[
10]]
# то же, но с использованием многоточия
>>> print a[0,...,0]
[[
4]
[
10]]
Универсальные функции
МодульNumericопределяет набор функций для применения к элементам массива.Функции применимы не только к массивам,но и к последовательностям(к сожалению,итераторы пока не поддерживаются).В результате получаются массивы.
Функция
Описание
add(x, y), subtract(x, y)
Сложение и вычитание
multiply(x, y), divide(x, y)
Умножение и деление
remainder(x, y), fmod(x, y)
Получение остатка от деления(для целых чисел и чисел с
плавающей запятой)
power(x)
Возведение в степень
sqrt(x)
Извлечение корня квадратного
negative(x), absolute(x),
Смена знака и абсолютное значение
fabs(x)
|