Питхон листа: разумевање, додавање, сортирање, дужина, обрнути ПРИМЕРИ

Преглед садржаја:

Anonim

Шта је Питхон листа?

Листа је тачно оно што звучи, контејнер који садржи различите Питхон објекте, који могу бити цели бројеви, речи, вредности итд. То је еквивалент низа у другим програмским језицима. Представљен је угластим заградама (и ово је један од атрибута који га разликује од корпица које су одвојене заградама). Такође је променљив, односно може се изменити или ажурирати; за разлику од торти, које су непроменљиве.

У овом туторијалу за питхон научићете:

  • Шта је Питхон листа?
  • Примери Питхон листа:
  • Приступ вредностима на листама
  • Резање листе
  • Ажурирање листа
  • Брисање елемената листе
  • Додавање елемената листе
  • Листа уграђених функција (метода)
  • Прелиставање листа
  • Листа схватања

Примери Питхон листа:

Питхон листе могу бити хомогене, што значи да могу садржати исту врсту објеката; или хетерогени, укључујући различите врсте предмета.

Примери хомогених листа укључују:

list of integers = [1, 2, 3, 8, 33]list of animals = ['dog', 'cat', 'goat']list of names = ['John', 'Travis', 'Sheila']list of floating numbers = [2.2, 4.5, 9.8, 10.4]

Примери хетерогених листа укључују:

[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']

Приступ вредностима на листама

За приступ вредностима унутар листа може се користити индекс објеката унутар листа. Индекс у Питхон листама односи се на положај елемента унутар уређене листе. На пример:

list = [3, 22, 30, 5.3, 20]
  • Прва вредност на горњој листи, 3, има индекс 0
  • Друга вредност, 22, има индекс 1
  • Трећа вредност, 30, има индекс 2

и тако даље. Да бисте приступили свакој од вредности са листе, користили бисте:

list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20

Последњем члану листе се такође може приступити коришћењем индекса -1. На пример,

list[-1] = 20

Резање листе

Резање листе је метод раздвајања подскупа листе, а за то се користе и индекси објеката листе. На пример, користећи исти пример са листе горе;

list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).

Питхон листе су ексклузивне горње границе, а то значи да се последњи индекс током резања листе обично занемарује. Због тога

list[2:-1] = [30, 5.3] 
, а не [30, 5.3, 20]. Исто важи и за све остале горе наведене примере резања листе.

Ажурирање листа

Рецимо да имате листу = [физика, хемија, математика] и желите да листу промените у [биологија, хемија, математика], ефективно мењајући члана у индексу 0. То се лако може учинити додељивањем тог индекса новог члана којег желите.

То је,

list = [physics, chemistry, mathematics]list[0] = biologyprint(list)

Резултат: [биологија, хемија, математика]

Ово замењује члана у индексу 0 (физика) новом вредношћу коју желите (хемија). То се може учинити за било ког члана или подскуп листе који желите да промените.

Да дам још један пример; рецимо да имате листу која се зове цели бројеви и која садржи бројеве [2, 5, 9, 20, 27]. Да бисте на тој листи 5 заменили са 10, то можете учинити са:

 integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]

Да бисте последњег члана листе целобројних бројева, а то је 27, заменили бесплатним бројем попут 30,5, користили бисте:

 integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]

Брисање елемената листе

Постоје 3 Питхон методе за брисање елемената листе: лист.ремове (), лист.поп () и дел оператор. Уклањање метода узима одређени елемент који треба уклонити као аргумент, док поп и дел узимају индекс елемента који се уклања као аргумент. На пример:

листа = [3, 5, 7, 8, 9, 20]

Да бисте избрисали 3 (1. елемент) са листе, можете да користите:

  • лист.ремове (3) или
  • лист.поп [0] или
  • дел лист [0]

Да бисте са листе избрисали 8, ставку у индексу 3, можете да користите:

  • лист.ремове (8), или
  • лист.поп [3]

Додавање елемената листе

За додавање елемената на листу користи се метода додавања, што додаје елемент на крај листе.

На пример:

list_1 = [3, 5, 7, 8, 9, 20]list_1.append(3.33)print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]list_1.append("cats")print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]

Листа уграђених функција (метода)

Следи списак уграђених функција и метода са њиховим описима:

  • лен (листа): ово даје дужину листе као излаз. На пример:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
  • мак (листа): враћа ставку на листи са максималном вредношћу. На пример:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
  • мин (листа): враћа ставку на листи са минималном вредношћу. На пример:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
  • листа (корпица): претвара објект корпице у листу. На пример;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
  • лист.аппенд (елемент): додаје елемент на листу. На пример;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
  • лист.поп (индекс): уклања елемент са наведеног индекса са листе. На пример;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
  • лист.ремове (елемент): брише елемент са листе. На пример;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
  • лист.реверсе (): обрће објекте са листе. На пример;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
  • лист.индек (елемент): за добијање вредности индекса елемента на листи. На пример;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
  • сума (листа): да би се добио збир свих вредности на листи, ако су вредности сви бројеви (цели бројеви или децимале). На пример;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17

Ако листа садржи било који елемент који није број, као што је низ, метода суме не би функционисала. Добићете грешку која каже: " ТипеЕррор : неподржани типови операнда за +: 'инт' и 'стр'"

  • лист.сорт (): за уређивање листе целих бројева, бројева са покретним зарезом или низова, у растућем или силазном редоследу. На пример:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]

Други пример:

values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]

Листа низова такође се може сортирати по абецеди или по дужини низова. На пример;

# to sort the list by length of the elementsstrings = ['cat', 'mammal', 'goat', 'is']sort_by_alphabet = strings.sort()sort_by_length = strings.sort(key = len)print(sort_by_alphabet)print(sort_by_length)>>> ['cat', 'goat', 'is', 'mammal']['is', 'cat', 'goat', 'mammal']

Исти списак можемо сортирати по абецеди коришћењем 'стрингова.

Прелиставање листа

Прелиставање листа може се извршити на исти начин као и било која друга функција петљања у Питхону. На овај начин се метода може истовремено изводити на више елемената листе. На пример:

листа = [10, 20, 30, 40, 50, 60, 70].

Да бисте петљали кроз све елементе ове листе, и рецимо, додајте 10 сваком елементу:

for elem in list:elem = elem + 5print(elem)>>>>15253545556575

Прелиставање прва три елемента листе и брисање свих;

for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]

Да бисте прошли кроз 3. (индекс 2) до последњег елемента на листи и додали их на нову листу која се зове нев_лист:

new_list = []for elem in list[2:]:new_list.append(elem)print(“New List: {}”.format(new_list))Output:New List: [30, 40, 50, 60, 70]

На тај начин, било која или метода или функција могу се применити на чланове листе да би извршили одређену операцију. Можете да петљате кроз све чланове листе или да прођете кроз подскуп листе помоћу сечења листе.

Листа разумевања

Разумевања пописа су Питхон функције које се користе за креирање нових секвенци (као што су листе, речници итд.) Помоћу секвенци које су већ креиране. Они помажу у смањењу дужих петљи и олакшавају читање и одржавање вашег кода.

На пример; рецимо да сте желели да направите листу која садржи квадрате свих бројева од 1 до 9:

list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]

Да бисте урадили исту ствар са разумевањем листе:

list_of_squares_2 = [int**2 for int in range(1, 10)]print('List of squares using list comprehension: {}'.format(list_of_squares_2))Output using list comprehension:[1, 4, 9, 16, 25, 36, 49, 64, 81]

Као што се горе види, писање кода коришћењем разумевања листе је много краће од коришћења традиционалног за петље, а такође је и брже. Ово је само један пример употребе разумевања листе уместо фор петље, али ово се може копирати и користити на многим местима где се такође могу користити фор петље. Понекад је боља опција коришћење фор фор петље, посебно ако је код сложен, али у многим случајевима ће вам разумевање листе олакшати и убрзати кодирање.

Испод је табела која садржи неке функције и методе листе и њихове описе.

Уграђене функције

ФУНКЦИЈА ОПИС
Роунд () Заокружује број прослеђен као аргумент на одређени број цифара и враћа вредност са покретном тачком
Мин () врати минимални елемент дате листе
Мак () врати максималан елемент дате листе
лен () Враћа дужину листе
Наброји () Ова уграђена функција генерише и вредности и индексе ставки у итерабилу, тако да не морамо ручно бројати
Филтер () тестира да ли је сваки елемент листе тачан или не
Ламбда Израз који се може појавити на местима где деф (за креирање функција) није синтаксички, унутар литерала листе или аргумената позива функције
Мапа() враћа листу резултата након примене задате функције на сваку ставку датог итерабилног елемента
Акумулирати () применити одређену функцију прослеђену у њеном аргументу на све елементе листе, враћа листу која садржи средње резултате
Збир () Даје збир свих бројева на листи
Цмп () Ово се користи за поређење две листе и даје 1 ако је прва листа већа од друге.
Уметни Уметните елемент у листу на одређеној позицији

Методе пописа

ФУНКЦИЈА ОПИС
Додати() Додаје нову ставку на крај листе
Јасно() Уклања све ставке са листе
Копирај () Враћа копију оригиналне листе
Проширити() Додајте много предмета на крај листе
Цоунт () Враћа број појављивања одређене ставке на листи
Индекс () Враћа индекс одређеног елемента листе
Поп () Брише ставку са листе по одређеном индексу (обриши по положају)
Уклони () Брише наведену ставку са листе (обриши по вредности)
Обрнуто () Метода преокрета на месту која преокреће редослед елемената листе

Резиме

  • Листа је тачно оно што звучи, контејнер који садржи различите Питхон објекте, а то могу бити цели бројеви, речи, вредности итд.
  • Питхон листе могу бити хомогене, што значи да могу садржати исту врсту објеката; или хетерогени, који садрже различите врсте предмета.
  • За приступ вредностима унутар листа може се користити индекс објеката унутар листа.
  • Резање листе је метод раздвајања подскупа листе, а за то се користе и индекси објеката листе.
  • Три методе за брисање елемената листе су: 1) лист.ремове (), 2) лист.поп () и 3) дел оператор
  • Метода додавања користи се за додавање елемената. Ово додаје елемент на крај листе.
  • Метода петљања програма Питхон може се истовремено изводити на више елемената листе података.
  • Разумевања пописа су Питхон функције које се користе за креирање нових секвенци (као што су листе, речници итд.) Помоћу секвенци које су већ креиране.