Программирование и научные вычисления на языке Python/§8: различия между версиями
Содержимое удалено Содержимое добавлено
LeoMat (обсуждение | вклад) Нет описания правки |
LeoMat (обсуждение | вклад) Нет описания правки |
||
Строка 76:
==Использование списков==
Представим, у нас есть функция ''f(x)'' и мы хотим применить ее к ''n'' числам ''x<sub>1</sub>'', ''x<sub>2</sub>'', ... , ''x<sub>n-1</sub>'', ''x<sub>n</sub>''. Мы можем составить ''n'' пар (''x<sub>i</sub>'', f(x<sub>i)</sub>, а можем создать два списка — один со значениями переменной, а другой с соответствующими значениями функции:
<source lang="python">
>>> def f(x):
... return x**3
...
>>> n = 5 # no of points along the x axis
>>> dx = 1.0/(n-1) # spacing between x oints in [0,1]
>>> xlist = [i*dx for i in range(n)]
>>> ylist = [f(x) for x in xlist]
>>> pairs = [[x, y] for x, y in zip(xlist, ylist)]</source>
Здесь для решения задачи мы использовали два приема: генерацию списков и двойной zip-проход по спискам. В списке <tt>pairs</tt> все элементы представляют собой списки из двух float чисел, в списках <tt>xlist</tt> и <tt>ylist</tt> все объекты float. Но список это довольно гибкий объект, и он может содержать объекты любых типов:
<source lang="python">mylist = [2, 6.0, 'tmp.ps', [0,1]]</source>
|