List calling in python

The list() Function in Python

In Python, the built-in list() function converts an iterable object, such as string or tuple, to a list.

For example, let’s convert a string to a list of characters:

In this guide, you are going to see examples of using the list() function and how to make a custom object support it.

When Use list() Function in Python

Use the list() function whenever you need to convert something to a list in Python.

For example, when filtering a list, you get back a filter object. To convert the filter object to a list, use the list() function:

ages = [32, 2, 17, 90, 23] adults = filter(lambda x: x >= 18, ages) adults = list(adults) print(adults)

Examples

Let’s see a bunch of examples of converting from iterables to list in Python.

List from a Tuple

A tuple is an immutable collection of values in Python. This means you cannot modify the contents of a tuple after creation. However, you can convert a tuple to a list that you can modify if you want to.

>>> ages = 10, 20, 30 >>> list(ages) [10, 20, 30]

List from a Set

A set is a unique collection of elements in Python. A set does not have an order. You can see this when you convert a set to a list.

>>> names = >>> list(names) ['Bob', 'Charlie', 'Alice']

List from a String

A string is also an iterable type in Python. In other words, you can convert a string to a list. This returns the characters of the string as a list.

>>> string = "Hello world" >>> list(string) ['H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

List from a Dictionary

When you convert a dictionary to a list in Python, the keys are returned.

>>> data = >>> list(data) ['name', 'age', 'address']

The list() Function without a Parameter

If you give the list() function no parameter at all, a new empty list is created.

Advanced Example: Call list() on a Custom Object

As you know, you can call list() function on any iterable object in Python.

But how about calling list() on a custom object?

Let’s play with a custom class Fruit. We would like to be able to call the list() function on a Fruit object to get a list of characters in the name of the fruit.

Disclaimer: To understand this section, you should have a good understanding of iterators and iterables in Python.

Here is the Fruit class:

class Fruit: def __init__(self, name): self.name = name

Now let’s create a Fruit object and call list() function on it:

banana = Fruit("Banana") letters = list(banana) print(letters)
TypeError: 'Fruit' object is not iterable

As you can see, the error says it is not possible to convert a Fruit to a list because it is not iterable.

So the only way to make a Fruit convertible to a list is by making it iterable.

By definition, an iterable is an object that implements the __iter__() method in the class that returns an iterator.

Without digging too deep into the details, let’s implement the __iter__() method in the Fruit class.

As you know, a string is already an iterable object. This means the str type implements the __iter__() method. To get the characters of the Fruit as a list, you can thus directly call iter() method on the name attribute of the Fruit object. This returns an iterator, that you can return from the custom __iter__() method:

class Fruit: def __init__(self, name): self.name = name def __iter__(self): return iter(self.name)

Now you can call list() function on a Fruit object:

banana = Fruit("Banana") letters = list(banana) print(letters)

A Bonus Example: Remove Duplicates from a List

A common example of using the list() function is when removing duplicates from a list. To do this:

  • Convera a list to a dictionary with the dict.fromkeys() function. This removes all duplicate elements as there can be none in a dictionary.
  • Convert the dictionary back to a list using the list() function.
nums = [1, 2, 2, 2, 3, 2, 4, 5] nums = list(dict.fromkeys(nums)) print(nums)

Conclusion

Today you learned what is the list() function in Python.

To recap, the list() function is a built-in function that allows converting any iterable object to a list.

Источник

Python — Lists

The most basic data structure in Python is the sequence. Each element of a sequence is assigned a number — its position or index. The first index is zero, the second index is one, and so forth.

Python has six built-in types of sequences, but the most common ones are lists and tuples, which we would see in this tutorial.

There are certain things you can do with all sequence types. These operations include indexing, slicing, adding, multiplying, and checking for membership. In addition, Python has built-in functions for finding the length of a sequence and for finding its largest and smallest elements.

Python Lists

The list is a most versatile datatype available in Python which can be written as a list of comma-separated values (items) between square brackets. Important thing about a list is that items in a list need not be of the same type.

Creating a list is as simple as putting different comma-separated values between square brackets. For example −

list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"]

Similar to string indices, list indices start at 0, and lists can be sliced, concatenated and so on.

Accessing Values in Lists

To access values in lists, use the square brackets for slicing along with the index or indices to obtain value available at that index. For example −

#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]

When the above code is executed, it produces the following result −

list1[0]: physics list2[1:5]: [2, 3, 4, 5]

Updating Lists

You can update single or multiple elements of lists by giving the slice on the left-hand side of the assignment operator, and you can add to elements in a list with the append() method. For example −

#!/usr/bin/python list = ['physics', 'chemistry', 1997, 2000]; print "Value available at index 2 : " print list[2] list[2] = 2001; print "New value available at index 2 : " print list[2]

Note − append() method is discussed in subsequent section.

When the above code is executed, it produces the following result −

Value available at index 2 : 1997 New value available at index 2 : 2001

Delete List Elements

To remove a list element, you can use either the del statement if you know exactly which element(s) you are deleting or the remove() method if you do not know. For example −

#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "After deleting value at index 2 : " print list1

When the above code is executed, it produces following result −

['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]

Note − remove() method is discussed in subsequent section.

Basic List Operations

Lists respond to the + and * operators much like strings; they mean concatenation and repetition here too, except that the result is a new list, not a string.

In fact, lists respond to all of the general sequence operations we used on strings in the prior chapter.

Python Expression Results Description
len([1, 2, 3]) 3 Length
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] Concatenation
[‘Hi!’] * 4 [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] Repetition
3 in [1, 2, 3] True Membership
for x in [1, 2, 3]: print x, 1 2 3 Iteration

Indexing, Slicing, and Matrixes

Because lists are sequences, indexing and slicing work the same way for lists as they do for strings.

Python Expression Results Description
L[2] SPAM! Offsets start at zero
L[-2] Spam Negative: count from the right
L[1:] [‘Spam’, ‘SPAM!’] Slicing fetches sections

Built-in List Functions & Methods

Python includes the following list functions −

Compares elements of both lists.

Gives the total length of the list.

Returns item from the list with max value.

Returns item from the list with min value.

Converts a tuple into list.

Python includes following list methods

Appends object obj to list

Returns count of how many times obj occurs in list

Appends the contents of seq to list

Returns the lowest index in list that obj appears

Inserts object obj into list at offset index

Removes and returns last object or obj from list

Removes object obj from list

Reverses objects of list in place

Sorts objects of list, use compare func if given

Источник

Списки (list). Функции и методы списков

Python 3 логотип

Сегодня я расскажу о таком типе данных, как списки, операциях над ними и методах, о генераторах списков и о применении списков.

Что такое списки?

Списки в Python — упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).

Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list:

Список можно создать и при помощи литерала:

Как видно из примера, список может содержать любое количество любых объектов (в том числе и вложенные списки), или не содержать ничего.

И еще один способ создать список — это генераторы списков. Генератор списков — способ построить новый список, применяя выражение к каждому элементу последовательности. Генераторы списков очень похожи на цикл for.

Возможна и более сложная конструкция генератора списков:

Но в сложных случаях лучше пользоваться обычным циклом for для генерации списков.

Функции и методы списков

Создать создали, теперь нужно со списком что-то делать. Для списков доступны основные встроенные функции, а также методы списков.

Таблица «методы списков»

Метод Что делает
list.append(x) Добавляет элемент в конец списка
list.extend(L) Расширяет список list, добавляя в конец все элементы списка L
list.insert(i, x) Вставляет на i-ый элемент значение x
list.remove(x) Удаляет первый элемент в списке, имеющий значение x. ValueError, если такого элемента не существует
list.pop([i]) Удаляет i-ый элемент и возвращает его. Если индекс не указан, удаляется последний элемент
list.index(x, [start [, end]]) Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end)
list.count(x) Возвращает количество элементов со значением x
list.sort(List calling in python) Сортирует список на основе функции
list.reverse() Разворачивает список
list.copy() Поверхностная копия списка
list.clear() Очищает список

Нужно отметить, что методы списков, в отличие от строковых методов, изменяют сам список, а потому результат выполнения не нужно записывать в эту переменную.

   И, напоследок, примеры работы со списками:

Изредка, для увеличения производительности, списки заменяют гораздо менее гибкими массивами (хотя в таких случаях обычно используют сторонние библиотеки, например NumPy).

Для вставки кода на Python в комментарий заключайте его в теги

  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов

Источник

Читайте также:  Html response codes 400
Оцените статью