Python operators on lists

How does * operator work on list in Python?

A repetition operator is supported by sequence datatypes (both mutable and immutable). * The repetition operator * creates several copies of that object and joins them together. When used with an integer, * performs multiplication, but when used with a list, tuple, or strings, it performs repetition

In this article, we will show you how the * operator works on a list in python. Below are the different examples to understand how * works on a python list −

  • Repetition Operator(*) on List Items
  • How Repetition Operator(*) works as a reference
  • Using the * operator to unpack a function.
  • When the Repetition Value is given 0

Repetition Operator(*) on List Items

Python List also includes the * operator, which allows you to create a new list with the elements repeated the specified number of times.

The following program repeats the list the given number of times using the * operator −

# input list inputList = [5, 6, 7] # Repeating the input list 2 times using the * operator print(inputList * 2)

Output

On executing, the above program will generate the following output −

Here, we took a list of random values and multiplied it twice with the * operator, so that the output consists of the given list repeated twice.

Читайте также:  nth-child

How Repetition Operator (*) works as a reference

Items in the sequences/list are not copied instead, they are referred to several/multiple times.

inputList_1=[[3]] inputList_2= inputList_1*3

Example

List inputList_2 elements correspond to the same element in list inputList_1. As a result, changing any of the elements in list inputList_1 will change the elements in list inputList_2.

# Input list inputList_1=[4] # Multiplying the whole input list_1 three times using the Repetition Operator inputList_2= inputList_1*3 print('The Input list 1 without modification : ',inputList_1) print('The Input list 2 without modification : ',inputList_2) # Modifying the first element value of the input list with 20 inputList_1[0]= 20 #printing the output print('The Input list 1 after modification : ',inputList_1) print('The Input list 2 after modification : ',inputList_2)

Output

The Input list 1 without modification : [4] The Input list 2 without modification : [4, 4, 4] The Input list 1 after modification : [20] The Input list 2 after modification : [4, 4, 4]

The first list has only one element, which is 4, then we multiplied it three times with the repetition operator (*) and saved it in another list (input list 2). When we change the first list’s value, we can see that the second list elements change without changing the second list (input list 2). This means that items/elements in the sequences/list are referred to several/multiple times rather than copied.

Using * operator to unpack a function

This method is quite handy when printing data in a raw format (without any commas and brackets ). Many programmers attempt to remove commas and brackets by converging functions, thus this simple prefix asterisk can fix your problem in unpacking them.

Algorithm (Steps)

Following are the Algorithm/steps to be followed to perform the desired task −

  • Create a variable to store the input list and give it some random values.
  • To print list elements separated by spaces without brackets [] first we convert the list to a string by passing the str and list as arguments to the map () function. It converts each element of the list to the string type and returns the resultant list of items. The join() function(join() is used to join elements of a sequence that are separated by a string separator) is used to convert the result list to a string.
  • Instead of the previous method, we can use the asterisk operator (*) to print the list separated by spaces

Example

# input list inputList = ['TutorialsPoint', 'Python', 'Codes', 'hello', 5, 'everyone', 10, 5.3] # Converting list elements to string using map() # Applying join() function to convert list to string # Without using the asterisk (*) operator print('Without Using * Operator :') print(' '.join(map(str,inputList))) # Using the asterisk (*) operator print('Using * operator : ') print (*inputList)

Output

Without Using * Operator : TutorialsPoint Python Codes hello 5 everyone 10 5.3 Using * operator : TutorialsPoint Python Codes hello 5 everyone 10 5.3

Output remains the same using both ways.

When Repetition Value is given 0

When a value less than or equal to 0 is provided, an empty sequence of the same type is returned.

Example 1

The following program returns an empty list when input is multiplied with 0 −

# input list inputList = [5, 6, 7] # returning an empty list when repetition Value is given 0 print(inputList * 0)

Output

On executing, the above program will generate the following output

We used 0 as the repetition value here, so we get an empty list because something multiplied by 0 equals 0 (empty)

Example 2

The following program returns an empty list when input is multiplied with any number less than 0

# input list inputList = [5, 6, 7] # returning an empty list when repetition Value is given -4 print(inputList * -4)

Output

On executing, the above program will generate the following output

Because the * operator only accepts positive values, we get an empty list when we pass -4 as the repetition value. If there are any negative values, it cannot multiply them and thus returns an empty list.

Conclusion

This article covered every case involving the * repetition operator on the list. We also talked about how it will behave in various scenarios. We learned how to use the * operator to print list elements that are separated by spaces. This can be useful in a variety of situations, such as programming contests, to save time instead of writing numerous functions.

Источник

Списки (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(Python operators on lists) Сортирует список на основе функции
list.reverse() Разворачивает список
list.copy() Поверхностная копия списка
list.clear() Очищает список

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

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

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

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

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

Источник

Оцените статью