Type:List

Материал из PythonWiki.

Перейти к: навигация, поиск

Содержание

Списки

Создание списков

Самый простой способ создания списка - это перечислить элементы списка через запятую в квадратных скобках:

        >>> [10, 20, 30, 40]
        [10, 20, 30, 40]
        >>> ["one", "two", "three"]
        ['one', 'two', 'three']


Элементы списков могут быть разного типа. Список содержит строку, целое и дробное числа и другой список:

        >>> ["hello", 5, 2.0, [10, 20]]
        ['hello', 5, 2.0, [10, 20]]

Список, являющийся элементом другого списка, называют вложенным.


Списки можно создавай функцией range():

        >>> range(1,5)
        [1, 2, 3, 4]


Если функции range() передано только одно значение, то она вернет список с целыми значениями от 0 до N-1, где N – значение переданного параметра:

        >>> range(10)
        [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


Если range() указать три аргумента, то последний из них будет служить размером шага:

        >>> range(1, 10, 2)
        [1, 3, 5, 7, 9]


Так же можно создавать пустые списки пустыми квадратными скобками ([]). Списки могут сохраняться в переменных:

      numbers = [64, 512, 1024]
      empty = []
      print numbers, empty
      [64, 512, 1024] []


Работа со списками

Работа со списками происходит также как и со строками.

      >>>numbers[0]
      64
      >>>numbers[-1]
      1024


Индексом может также служить переменная целочисленного типа:

      >>> list=["a","b","c"]
      >>> i=1
      >>> list[i]
      'b'

Единственное отличие списков от строк заключается в том, что значения списков могут меняться.

      >>> list[i]="f"
      >>> list[i]
      'f'
      >>> list
      ['a', 'f', 'c']


Длина списка определяется функцией len():

      >>> list = [[1,2],[0.6,3.1415],["a","b"],1,-6,"world"]
      >>> len(list)
      6

Стоит обратить внимание, что вложеные списки считаются как один элемент!


С помощью логического оператора in можно проверять принадлежность списку:

      >>> 'world' in list
      True
      >>> 'a' in list
      False
      >>> ['a','b'] in list
      True

Поскольку ['a','b'] является одним элементом списка list, то элемент 'a' в списке list не будет найден.


Методы

Для добавления элемента в список используется метод append()

      >>> list.append('d')
      >>> list
      ['a', 'b', 'c', 'd']


Чтобы вставить элемент в начало или в другую позицию необходимо использовать метод insert()

      >>> list.insert(2,'d')
      >>> list
      ['a', 'b', 'd', 'c', 'd']

Первый параметр указывает индекс элемента перед которым будет производится вставка.


Как мы видели в предыдущем примере в списке могут находится элементы с одинаковыми значениями. Для определения индекса первого вхождения элемента следует использовать метод index()

      >>> list.index('b')
      1
      >>> list.index('d')
      2


Используя метод count() можно посчитать количество элемента в списке.

      >>> list.count('b')
      1
      >>> list.count('d')
      2


При необходимости удалить (первый) элемент из списка применяется метод remove()

      >>> list
      ['a', 'b', 'd', 'c', 'd']
      >>> list.remove('d')
      >>> list
      ['a', 'b', 'c', 'd']


", ".join( listName ) # соединить элементы списка через запятую
l_Row = l_List.pop(0) # получить первый элемент списка

Сортировка

Для сортировки элементов в списке предусмотрены два метода:

  • сортировка по возрастанию sort()
  • изменение порядка следования элементов на обратный reverse()
      >>> list = [7,2,9,34,7,1,0,4]
      >>> list.sort()
      >>> list
      [0, 1, 2, 4, 7, 7, 9, 34]
      >>> list = [7,2,9,34,7,1,0,4]
      >>> list.reverse()
      >>> list
      [4, 0, 1, 7, 34, 9, 2, 7]

При необходимости отсортировать элементы списка по убыванию нужно применить последовательно метод sort() а за ним reverse()

      >>> list = [7,2,9,34,7,1,0,4]
      >>> list.sort()
      >>> list
      [0, 1, 2, 4, 7, 7, 9, 34]
      >>> list.reverse()
      >>> list
      [34, 9, 7, 7, 4, 2, 1, 0]


--RussianRex 08:10, 14 декабря 2006 (EET)

Личные инструменты