Бписок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списков — ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списков — ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π·Π°Π΄Π°Ρ‡ΠΈ, связанныС с пСрСчислСниСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ½Β­Ρ„ΠΎΡ€Β­ΠΌΠ°Β­Ρ†ΠΈΡŽ ΠΎΠ± ΡƒΠΆΠ΅ сдСланных ΡˆΠ°Π³Π°Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ. Π’Π°ΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ списков.

Бписок β€” это простая структура Π΄Π°Π½Π½Ρ‹Ρ…, ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² нС­чис­­ловом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Бписок прСдставляСт собой ΠΏΠΎΡΠ»Π΅Β­Π΄ΠΎΒ­Π²Π°Β­Ρ‚Π΅Π»ΡŒΒ­Π½ΠΎΡΡ‚ΡŒ, ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ числа элСмСнтов.

НапримСр, пСрСчислСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: ΠœΠ΅Ρ€ΠΈ, Π”ΠΆΠΎΠ½, Π’ΠΎΠΌ, Анн ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

["ΠœΠ΅Ρ€ΠΈ", "Π”ΠΆΠΎΠ½", "Π’ΠΎΠΌ", "Анн"]

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ списка ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ структуры.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт называСтся Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ списка, ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ β€” хвостом. НапримСр, для списка

[a, b, c, d, e]

a β€” это Π³ΠΎΠ»ΠΎΠ²Π°, Π° хвостом являСтся список [b, c, d, e]. Для прСдставлСния пустого списка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ [].

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ хвост списка ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π°, ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‰ΡƒΡŽ Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΎΡ‚ хвоста:

L=[a|[b, с]]=[a, b|[c]]=[a, b, c|[]]

МоТно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ список рСкурсивно.

Бписок β€” это структура Π΄Π°Π½Π½Ρ‹Ρ…, опрСдСляСмая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • список являСтся пустым,
  • Π»ΠΈΠ±ΠΎ состоящим ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ ΠΈ хвостом списка. Π“ΠΎΠ»ΠΎΠ²ΠΎΠΉ списка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ элСмСнт любого Ρ‚ΠΈΠΏΠ°, Π° хвост Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, списком.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ списка Ρ‡Π΅Ρ€Π΅Π· Π΅Π³ΠΎ Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΈ хвост Π² сочСтании с рСкурсиСй Π»Π΅Β­ΠΆΠΈΡ‚ Π² основС большого числа ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… со списками. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΒ­Π³Ρ€Π°ΠΌΒ­ΠΌΡ‹ состоят:

  • ΠΈΠ· Ρ„Π°ΠΊΡ‚Π°, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ для пусто­го списка;
  • ΠΈΠ· рСкурсивного ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ списком, состоящим ΠΈΠ· Π³ΠΎΠ»ΠΎΠ²Ρ‹ ΠΈ хвоста (Π² Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°), Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ хвостом (Π² ΠΏΠΎΠ΄Ρ†Π΅Π»ΠΈ).

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм списка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ.

domains
element= integer % Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… элСмСнтов списка
list= element*

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ ΠΊ спискам Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ для всСх Ρ‚ΠΈΠΏΠΎΠ² списков.

domains
list1=integer*
list2=string*
predicates 
member (integer, list1) 
member (string, list2)

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… с Ρ„Π°ΠΊΡ‚Π°ΠΌΠΈ ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Π»ΡŽΠ΄ΡΡ…, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ связываСт имя Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Π΅Π³ΠΎ массу. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ массС всСх людСй Π² Π΅Π΄ΠΈΠ½ΠΎΠΉ списковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ L, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стандартный ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ findall.

domains
list=integer*
predicates
person(string,integer)
clauses
person(dan,70).
person(ann,80).
person(ben,77).
Β 
goal findall (X, person(_,X), L), write(L).
[70,80,77] L=[70,80,77]
1 Solution

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. ΠŸΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ элСмСнта списку.

БоставлСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ принадлСТности ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ основано Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… сообраТСниях:

Π°) X Π΅ΡΡ‚ΡŒ Π³ΠΎΠ»ΠΎΠ²Π° L, Π»ΠΈΠ±ΠΎ

Π±) X ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ хвосту L

predicates
member (type, list)
clauses
member (H,[H|T]).
member (H,[Y|T]):- member (H,T).

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ member ΠΌΠΎΠΆΠ½ΠΎ Π² Π΄Π²ΡƒΡ… направлСниях

goal member (1,[2,3,1,2]).
yes
Β 
goal member (X,[1,2,3]).
X=1
X=2
X=3
3 Solutions

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2.

Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… списков.

Для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ графичСским прСдставлСниСм.

НСобходимо Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄Π²Π° случая:

  • присоСдинСниС пустого списка [] ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ списку L Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый список L.
  • присоСдинСниС ΠΊ списку [H|T] списка P Π΅ΡΡ‚ΡŒ присоСдинСниС хвоста T ΠΊ списку P ΠΈ ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π³ΠΎΠ»ΠΎΠ²Ρƒ H.
predicates
append (list, list, list)
clauses
append ([],L,L).
append ([H|T],P,[H|Y]): - append (T,P,Y).
Β 
goal append ([1,2],[3,4],X).
X=[1,2,3,4]
Β 
goal append (X,[3|Y],[1,2,3,4,5]).
X=[1,2]
Y=[4,5]
Β 
goal append (_,[X,3,Y|_],[1,2,3,4,5,6]).
X=2
Y=4
Β 
goal append (X,[3,4,5|_],[1,2,3,4,5,6,7]).
X=[1,2]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта ΠΈΠ· списка.

predicates
delete(type, list, list)

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ delete ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ принадлСТности:

  • Ссли Π₯ являСтся Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ списка, Ρ‚ΠΎΠ³Π΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ удалСния Π±ΡƒΠ΄Π΅Ρ‚ хвост этого списка;
  • Ссли Π₯ находится Π² хвостС списка, Ρ‚ΠΎΠ³Π΄Π° Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‚ΡƒΠ΄Π°.
clauses
delete (X,[X|T],T).
delete (X,[Y|T],[Y|T1]): -
delete (X,T,T1).

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ delete Π½Π΅Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ.

goal  delete (1,[1,2,1,1],L).
L=[2,1,1]
L=[1,2,1]
L=[1,2,1]
3 Solutions

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4. ΠŸΠ΅Ρ€Π΅ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠΈ.

Иногда Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ всС пСрСстановки Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ списка. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ графичСским прСдставлСниСм:

predicates
reverse (list, list)
insert (type, list, list)
clauses
reverse ([],[]).
reverse ([X|L],P): - reverse (L,L1),
insert (X,L1,P).
insert (X,List,Biglist): -
delete (X,Biglist,List).
goal reverse ([1,2,3],L).
L=[1,2,3]
L=[1,3,2]
L=[2,1,3]
L=[2,3,1]
L=[3,1,2]
L=[3,2,1]
6 Solutions

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5. ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ элСмСнтов списка.

predicates
write_list (list)
clauses
write_list ([]).
write_list ([H|T]): - write (H), nl,
write_list (T).

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ вопросы ΠΈ задания

  1. Π”Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ списку.
  2. Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ запись:
    domains 
    k=integer
    p=k*
    r=p*
    Β 
  3. ΠŸΠΎΡΡΠ½ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° findall.
  4. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ список ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠ°.
  5. Π”Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ отсСчСния Π³ΠΎΠ»ΠΎΠ²Ρ‹ списку.
  6. Каким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² спискС ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹?
  7. ΠŸΡ€ΠΎΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив 3*10 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ списка.
  8. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° member.
  9. Как Π±ΡƒΠ΄Π΅Ρ‚ описан Π² domains список, состоящий ΠΈΠ· Π±ΡƒΠΊΠ² ΠΈ чисСл?
  10. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ список Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ.
  11. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅ описаниС списка Π² Prolog ΠΈ Pascal.
  12. Π‘Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ со списками.
  13. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π² рСкурсивном ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ списка Π³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ΅ условиС, ΠΎΠ±Ρ‰Π΅Π΅ условиС.
  14. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΡƒΡŽ список Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ.

Бписки (list). Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков

БСгодня я расскаТу ΠΎ Ρ‚Π°ΠΊΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ списки, опСрациях Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…, ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… списков ΠΈ ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ списков.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ списки?

Бписки Π² Python — упорядочСнныС измСняСмыС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΊ массив, Π½ΠΎ Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ).

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ списки, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ список ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ любой ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строку) встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ list:

>>> list('список')
['с', 'п', 'и', 'с', 'о', 'к']

Бписок ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°:

>>> s = []  # ΠŸΡƒΡΡ‚ΠΎΠΉ список
>>> l = ['s', 'p', ['isok'], 2]
>>> s
[]
>>> l
['s', 'p', ['isok'], 2]

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, список ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любоС количСство Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π² Ρ‚ΠΎΠΌ числС ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ списки), ΠΈΠ»ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ.

И Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список — это Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ списков. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списков — способ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ список, примСняя Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ списков ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Ρ†ΠΈΠΊΠ» for.

>>> c = [c * 3 for c in 'list']
>>> c
['lll', 'iii', 'sss', 'ttt']

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТная конструкция Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списков:

>>> c = [c * 3 for c in 'list' if c != 'i']
>>> c
['lll', 'sss', 'ttt']
>>> c = [c + d for c in 'list' if c != 'i' for d in 'spam' if d != 'a']
>>> c
['ls', 'lp', 'lm', 'ss', 'sp', 'sm', 'ts', 'tp', 'tm']

Но Π² слоТных случаях Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ 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([key=функция])Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ список Π½Π° основС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
list.reverse()Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ список
list.copy()ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚Π½Π°Ρ копия списка
list.clear()ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ список

НуТно ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ строковых ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ сам список, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

>>> l = [1, 2, 3, 5, 7]
>>> l.sort()
>>> l
[1, 2, 3, 5, 7]
>>> l = l.sort()
>>> print(l)
None

И, напослСдок, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками:

>>> a = [66.25, 333, 333, 1, 1234.5]
>>> print(a.count(333), a.count(66.25), a.count('x'))
2 1 0
>>> a.insert(2, -1)
>>> a.append(333)
>>> a
[66.25, 333, -1, 333, 1, 1234.5, 333]
>>> a.index(333)
1
>>> a.
remove(333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, 1234.5]

Π˜Π·Ρ€Π΅Π΄ΠΊΠ°, для увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, списки Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ массивами (хотя Π² Ρ‚Π°ΠΊΠΈΡ… случаях ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ NumPy).

Для вставки ΠΊΠΎΠ΄Π° Π½Π° Python Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² Ρ‚Π΅Π³ΠΈ <pre><code>Π’Π°Ρˆ ΠΊΠΎΠ΄</code></pre>

Π’Π²ΠΎΠ΄Π½Ρ‹Π΅ списки

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ДТСймс Робинсон ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ списки ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ Π² Python.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΡƒ

2.8

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для написания нашСго Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, β€” это использованиС списков.

Бписок, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ массивом, β€” это инструмСнт для хранСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΈ пСрСмСнная. Однако, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, список ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ мноТСство. Как ΠΈ пСрСмСнная, список прСдставляСт собой ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ хранСния Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Если ΠΌΡ‹ прСдставим ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΊΠ°ΠΊ ΠΊΠ½ΠΈΠΆΠ½ΡƒΡŽ ΠΏΠΎΠ»ΠΊΡƒ, Ρ‚ΠΎ каТдая пСрСмСнная Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΈΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ Π½Π° этой ΠΏΠΎΠ»ΠΊΠ΅.

37.7

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обращаСтся ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ просматриваСт содСрТимоС этого Π±Π»ΠΎΠΊΠ°. Бписок Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ прСдставляСт собой ΠΏΠΎΠ»Π΅ с ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ для хранСния Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° любоС количСство Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ². Π—Π°Ρ‚Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ присваиваСтся Π½ΠΎΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ индСкс, начиная с 0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ элСмСнт, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ число 3 Π² ΠΊΠΎΠ½Π΅Ρ† ΠΈΠΌΠ΅Π½ΠΈ списка.

73.6

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ язык программирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ списки ΠΈ массивы Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Однако нашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ сосрСдоточСно Π½Π° Python. Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ это дСлаСтся. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ список Π² Python Ρ‚Π°ΠΊ ΠΆΠ΅ просто, ΠΊΠ°ΠΊ ввСсти имя списка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, равСнство, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ°Ρ€Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок. Бписок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρƒ нас Π΅ΡΡ‚ΡŒ, Π² настоящСС врСмя пуст. И это ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ этот список Π½Π° протяТСнии всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ собираСмся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ здСсь, это… я просто ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ быстрый список с Ρ†Π΅Π»Ρ‹ΠΌ рядом чисСл Π² Π½Π΅ΠΌ.

108.9

ОК, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли я Π·Π°ΠΏΡƒΡ‰Ρƒ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ссли я Π½Π°Π±Π΅Ρ€Ρƒ print nums, я Π²Ρ‹Π²Π΅Π΄Ρƒ вСсь свой список. И я ΠΌΠΎΠ³Ρƒ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² спискС ΠΏΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈΠ»ΠΈ индСксу. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок Π² ΠΊΠΎΠ½Ρ†Π΅. И я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ элСмСнт ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ 1. Если я Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽ это, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΌΠΎΠΈΡ… ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ я ΠΏΠΎΠ»ΡƒΡ‡Ρƒ ΠΎΡ‚Π²Π΅Ρ‚ 4, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ смотрят Π½Π° список ΠΈ Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт. Но Π½Π° самом Π΄Π΅Π»Π΅ Python считаСт ΠΈΠ½Π°Ρ‡Π΅. НомСр 1 ΠΈΠ»ΠΈ позиция 1 β€” элСмСнт 1 β€” Π½Π° самом Π΄Π΅Π»Π΅ здСсь. Python Π½ΡƒΠΌΠ΅Ρ€ΡƒΠ΅Ρ‚ свою ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, начиная с 0. Π˜Ρ‚Π°ΠΊ, это позиция 0, позиция 1, позиция 2.

157.2

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ, Ссли Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ числа Π² наш список. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ nums.append. И Ссли я Π²ΡΡ‚Π°Π²Π»ΡŽ сюда число ΠΈ Π·Π°ΠΏΡƒΡ‰Ρƒ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽ числа, Ρ‚ΠΎ я ΡƒΠ²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» число 2 Π² ΠΊΠΎΠ½Π΅Ρ†. Если я сдСлаю nums.pop, это ΡƒΠ΄Π°Π»ΠΈΡ‚ элСмСнт ΠΈΠ· ΠΌΠΎΠ΅Π³ΠΎ списка. Если я ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΌ Π΅Π³ΠΎ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΎΠ½ просто ΡƒΠ΄Π°Π»ΠΈΡ‚ послСдний элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Π΄ΠΎΠ±Π°Π²ΠΈΠ». Π˜Ρ‚Π°ΠΊ, Ссли я ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽ nums, Π° Π·Π°Ρ‚Π΅ΠΌ go, Ρ‚ΠΎ я добавляю Ρ†ΠΈΡ„Ρ€Ρƒ 2 Π² ΠΊΠΎΠ½Π΅Ρ†, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽ Π΅Π΅.

204.9

Однако, Ссли я ΠΏΠΎΡΡ‚Π°Π²Π»ΡŽ Ρ‚ΡƒΠ΄Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Ссли я Π·Π°Ρ…ΠΎΡ‡Ρƒ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ этого числа 7, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 0, 1, 2, 3, 4 β€” Ссли я Π²Ρ‹Ρ‚Π°Ρ‰Ρƒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ 4, Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° я Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽ nums , Ρ‚ΠΎ я Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ Ρ‚Π° 7, которая Π±Ρ‹Π»Π° Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 4, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выскочила. И 2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π΄ΠΎΠ±Π°Π²ΠΈΠ», Π½Π΅ выскочили. Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠΏ для удалСния. Append для добавлСния. И Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ добавлСния Π²Π΅Ρ‰Π΅ΠΉ Π² ΠΌΠΎΠΉ список β€” с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Insert. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли я Π²ΡΡ‚Π°Π²Π»ΡΡŽ, я ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π³ΠΎΠ²ΠΎΡ€ΡŽ, ΠΊΡƒΠ΄Π° это ΠΏΠΎΠΉΠ΄Π΅Ρ‚ β€” Ρ‚Π°ΠΊΠΎΠ²Π° моя позиция. И Π·Π°Ρ‚Π΅ΠΌ я даю Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ. Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ вставим 100 послС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 3.

257.3

И я Ρ‚Π°ΠΊΠΆΠ΅ просто добавлю числа для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ† ΠΌΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·. Если я ΠΎΡΡ‚Π°Π½ΠΎΠ²Π»ΡŽΡΡŒ ΠΈ ΠΏΠΎΠ±Π΅Π³Ρƒ, Ρ‚ΠΎ я ΡƒΠ²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ 3, Π° Π·Π°Ρ‚Π΅ΠΌ вставил число 100. И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, послСдний ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Π²Π°ΠΌ ΠΏΠΎΠΊΠ°ΠΆΡƒ, β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. Π˜Ρ‚Π°ΠΊ, Ссли я сказал Β«Π£Π΄Π°Π»ΠΈΡ‚ΡŒΒ» β€” это Π½Π΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ удаляСт Π½Π° основС значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я Π²Π²ΠΎΠΆΡƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Π³ΠΎΠ²ΠΎΡ€ΡŽ Π΅ΠΌΡƒ, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” я Ρ…ΠΎΡ‡Ρƒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. Π’Π°ΠΊ Π²ΠΎΡ‚, Ссли Π±Ρ‹ я Ρ…ΠΎΡ‚Π΅Π» ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 90 ΠΈΠ· ΠΌΠΎΠ΅Π³ΠΎ списка, я Π±Ρ‹ Π½Π΅ Π΄Π°Π» Π΅ΠΌΡƒ ссылку Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π― Π±Ρ‹ Π²Π²Π΅Π» сам Π½ΠΎΠΌΠ΅Ρ€.

299

Если я ΠΎΡΡ‚Π°Π½ΠΎΠ²Π»ΡŽ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π·Π°ΠΏΡƒΡ‰Ρƒ Π΅Π΅, я ΡƒΠ²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ 90 исчСзло. И Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ нСсколько способов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ со списками. Π― ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΏΠ°Ρ€Ρƒ Π²Π΅Ρ‰Π΅ΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” Ссли Π±Ρ‹ ΠΌΡ‹ сдСлали минус 1 Π² качСствС ссылки Π½Π° наш список, ΠΌΡ‹ фактичСски ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π±Ρ‹ послСдний элСмСнт Π² спискС. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ считайтС Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС с этого ΠΊΠΎΠ½Ρ†Π°. И ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ Π½Π°Ρ€Π΅Π·ΠΊΠΎΠΉ списка, Π³Π΄Π΅, Ссли я скаТу, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½Ρ‹ элСмСнты с 4 ΠΏΠΎ 7, это даст ΠΌΠ½Π΅ элСмСнты 4, 5, 6, Π½ΠΎ Π½Π΅ 7. Π­Ρ‚ΠΎ остановится Π½Π° 7. Π˜Ρ‚Π°ΠΊ, Π΅ΡΡ‚ΡŒ элСмСнт 4, 5 ΠΈ 6.

336.1

Π˜Ρ‚Π°ΠΊ, Π΅ΡΡ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ со списками. Но ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, просто Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΏΠ°Ρ€Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² β€” наши списки Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ числовыми. Π£ нас ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ списки строк. Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ список ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ строками Π² Π½Π΅ΠΌ. И ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ списки списков. Π˜Ρ‚Π°ΠΊ, здСсь Ρƒ нас Π΅ΡΡ‚ΡŒ список ΠΈΠ· пяти элСмСнтов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сам ΠΏΠΎ сСбС являСтся списком. И это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π΄Π°Π½Π½Ρ‹Ρ…. Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… способов манипулирования списками. Π­Ρ‚ΠΎ лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

373

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡˆΠ°Π³Π°Ρ… Π²Ρ‹ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ эти ΠΈΠ΄Π΅ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… дСйствий ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. На этом этапС ΠΌΡ‹ рассмотрСли мноТСство Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ΄Π΅ΠΉ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ Π½ΠΎΠ²Ρ‹ΠΌΠΈ для вас ΠΈΠ»ΠΈ Π²Π°ΡˆΠΈΡ… ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ². ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ эти ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ своим учащимся ΠΈ ΠΊΠ°ΠΊ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ эти мысли ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ своС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅. Увидимся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС.

На ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрСли Ρ€ΠΎΠ»ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ собствСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΌΠΈ значСниями. Они Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ свои собствСнныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ написании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², β€” это использованиС списков для хранСния Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… шагов ΠΌΡ‹ рассмотрим, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ списки ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ список?

Бписок (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ массивом) β€” это инструмСнт для хранСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΈ пСрСмСнная. Однако Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ части Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° Ρ€Π°Π· Π² ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΌ мСстС, список ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ.

Как ΠΈ пСрСмСнная, список прСдставляСт собой ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ хранСния Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Если ΠΌΡ‹ прСдставим ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΊΠ°ΠΊ ΠΊΠ½ΠΈΠΆΠ½ΡƒΡŽ ΠΏΠΎΠ»ΠΊΡƒ, Ρ‚ΠΎ каТдая пСрСмСнная Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΈΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ Π½Π° этой ΠΏΠΎΠ»ΠΊΠ΅.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обращаСтся ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ просматриваСт содСрТимоС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ поля. Бписок Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ΠΌ для хранСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° любоС количСство ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², ΠΏΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ присваиваСтся Π½ΠΎΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ индСкс , начиная с 0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² спискС ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ элСмСнту с самого Π½Π°Ρ‡Π°Π»Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ²[2] (ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ 0).

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ язык программирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ списки/массивы Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ нашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ сосрСдоточСно Π½Π° Python, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ списки Python.

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списка Ρ‚Π°ΠΊ ΠΆΠ΅ просто, ΠΊΠ°ΠΊ присвоСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, хотя ΠΈ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ синтаксисом. Бписок Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записан ΠΊΠ°ΠΊ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми, содСрТащихся Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, простой список Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 Π±Π°Π»Π»ΠΎΠ² = [6,2,9,7,4,6,3] 

Бписок строк:

 ΠΈΠΌΠ΅Π½Π° = ["ДТСймс", "ΠšΠ΅ΠΉΡ‚Π»ΠΈΠ½", "ΠœΠ°Ρ€Ρ‚ΠΈΠ½", "Π›Π°ΡƒΡ€Π°"] 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅ списки:
~~~ python
ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ = [«Π”ТСймс», «Π―Π½Π²Π°Ρ€ΡŒ», 21, » Π§Π°ΠΉΒ»]
~~~

ΠŸΡƒΡΡ‚Ρ‹Π΅ списки:

 shopping_list = [] 

Или даТС списки списков:

 magic_square = [ [2, 7, 6], [9, 5, 1], [4, 3, 8] ] 

Доступ ΠΊ элСмСнтам

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠ² элСмСнты Π² спискС, Π²Ρ‹, вСроятно, Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅. Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠΌΠ΅Π½ΠΈ списка, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ΠΏΠ°Ρ€Π° ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок, содСрТащих индСкс (ΠΈΠ»ΠΈ индСксы), Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт Π² спискС, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ:

 scores[0] 

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ элСмСнт Π² спискС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ:

 names[2] = "Marc" 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ элСмСнту списка ΠΏΠΎ Π΅Π³ΠΎ Ρ€Π°ΡΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° списка, Π° Π½Π΅ ΠΎΡ‚ Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π°. Π§Ρ‚ΠΎΠ±Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ послСднСм элСмСнтС Π² спискС, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ [-1] , для прСдпослСднСго [-2] ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅:

 profile[-1] = "Π’ΠΎΡ€Ρ‚" 

МоТно Π΄Π°ΠΆΠ΅ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° Ρ†Π΅Π»Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π» ΠΈΠ»ΠΈ срСз списка с использованиСм ΠΏΠ°Ρ€Ρ‹ индСксов, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ:

 scores[1:3] 

Π’ Python список β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ , Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство встроСнных дСйствий, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ . (Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΈ ​​мСтодах, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ наш курс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования). Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ распространСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со списками.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтов

БущСствуСт Π΄Π²Π° Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π° добавлСния Π½ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² список. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ часто Π²Ρ‹ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка. Однако Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ мСсто списка.

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ имя списка, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ΠΌΠ΅Ρ‚ΠΎΠ΄ .append ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ:

 shopping_list.append("bananas") 

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнт, ΠΊΠ°ΠΊ Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, догадались, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ .insert . Π’ этом случаС Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ вставляСтС ΠΈ мСсто, ΠΊΡƒΠ΄Π° Π΅Π³ΠΎ слСдуСт Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ.

 names.insert(1,"Dan") 

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ вставкС, ΠΈ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π΄Π²Π° способа ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π²Ρ‹Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ элСмСнт ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π³ΠΎ индСкс, ΠΈ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² поиск Π΅Π³ΠΎ значСния Π² спискС.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π²Ρ‹ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ .pop с порядковым Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ:

scores.pop(3) 

Π­Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ элСмСнт 3 (Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ элСмСнт) ΠΈΠ· списка. Если порядковый Π½ΠΎΠΌΠ΅Ρ€ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, выталкиваСтся послСдний элСмСнт Π² спискС.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях вмСсто этого ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .remove :

 scores.remove(3) 

Π­Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ значСния 3 , Π² ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ‹ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΎΠ½ΠΎ Π½ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ.

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… способов манипулирования списками; это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС распространСнныС. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡˆΠ°Π³Π°Ρ… Π²Ρ‹ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ эти ΠΈΠ΄Π΅ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… дСйствий ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

На этом этапС ΠΌΡ‹ рассмотрСли мноТСство ΠΈΠ΄Π΅ΠΉ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ для вас Π½ΠΎΠ²Ρ‹ΠΌΠΈ.

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ своС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.
  • КакиС Π΅Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² спискС?
  • Когда Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ списки своим учащимся ΠΈ ΠΊΠ°ΠΊ Π±Ρ‹ Π²Ρ‹ это сдСлали?

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ взята ΠΈΠ· бСсплатного ΠΎΠ½Π»Π°ΠΉΠ½-рСсурса

Programming 102: Think Like a Computer Scientist

Π‘ΠΎΠ·Π΄Π°Π½ΠΎ

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΡ сСйчас

ДостигнитС своих Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ

Π Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠΉΡ‚Π΅ доступ ΠΊ сотням экспСртных ΠΎΠ½Π»Π°ΠΉΠ½-курсов ΠΈ стСпСнСй ΠΎΡ‚ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… унивСрситСтов ΠΈ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π°ΠΊΠΊΡ€Π΅Π΄ΠΈΡ‚ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ сСртификаты для составлСния Ρ€Π΅Π·ΡŽΠΌΠ΅.

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 18 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌ учащихся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ, ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ свою ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Π² своСм собствСнном Ρ‚Π΅ΠΌΠΏΠ΅ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Ρ‚Π΅ΠΌ.

ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

Бписок Python (с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ)

Π’ этом руководствС ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ списках Python (созданиС списков, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ элСмСнтов списка, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со списками) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Π’ Python списки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр,

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ возраст 5 ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ². ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ 5 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список:

Lists Elements

Create a Python List

Бписок создаСтся Π² Python ΠΏΡƒΡ‚Π΅ΠΌ размСщСния элСмСнтов Π²Π½ΡƒΡ‚Ρ€ΠΈ [] , Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми. НапримСр,

 # Бписок ΠΈΠ· 3 Ρ†Π΅Π»Ρ‹Ρ… чисСл
числа = [1, 2, 5]
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (числа)
# Π’Ρ‹Π²ΠΎΠ΄: [1, 2, 5] 

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создали список с ΠΈΠΌΠ΅Π½Π΅ΠΌ чисСл с 3 Ρ†Π΅Π»Ρ‹ΠΌΠΈ элСмСнтами.

Π’ спискС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любоС количСство элСмСнтов, ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Ρ†Π΅Π»Ρ‹Π΅ числа, числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, строки ΠΈ Ρ‚. Π΄.). НапримСр,

 # пустой список
мой_список = []
# список со ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
my_list = [1, "ΠŸΡ€ΠΈΠ²Π΅Ρ‚", 3.4] 

Доступ ΠΊ элСмСнтам списка Python

Π’ Python ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт списка связан с числом. Число извСстно ΠΊΠ°ΠΊ индСкс списка.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ элСмСнтам массива, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½ΠΎΠΌΠ΅Ρ€ индСкса (0, 1, 2 …) . НапримСр,

 языков = ["Python", "Swift", "C++"]
# доступ ΠΊ элСмСнту ΠΏΠΎ индСксу 0
print(языки[0]) # Python
# доступ ΠΊ элСмСнту ΠΏΠΎ индСксу 2
print(languages[2]) # C++ 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создали список с ΠΈΠΌΠ΅Π½Π΅ΠΌ языков .

Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ списка Π² Python

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт списка связан с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ индСкса. И ΠΌΡ‹ использовали Π½ΠΎΠΌΠ΅Ρ€ индСкса для доступа ΠΊ элСмСнтам.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ИндСкс списка всСгда начинаСтся с 0 . Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт списка присутствуСт ΠΏΠΎ индСксу 0 , Π° Π½Π΅ 1 .


ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ индСксированиС Π² Python

Python допускаСт ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ индСксированиС для своих ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ. ИндСкс -1 относится ΠΊ послСднСму элСмСнту, -2 Π΄ΠΎ прСдпослСднСго элСмСнта ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

 языков = ["Python", "Swift", "C++"]
# доступ ΠΊ элСмСнту ΠΏΠΎ индСксу 0
print(языки[-1]) # C++
# доступ ΠΊ элСмСнту ΠΏΠΎ индСксу 2
print(languages[-3]) # Python 
ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ индСксированиС Python

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ . Если ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ индСкс Π½Π΅ сущСствуСт Π² спискС, Python Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ IndexError .


НарСзка списка Python

Π’ Python ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ элСмСнтов ΠΈΠ· списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π°Ρ€Π΅Π·ΠΊΠΈ : , Π° Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚. НапримСр,

 # НарСзка списка Π² Python
my_list = ['p','r','o','g','r','a','m','i','z']
# элСмСнты ΠΎΡ‚ индСкса 2 Π΄ΠΎ индСкса 4
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список [2: 5])
# элСмСнты ΠΎΡ‚ индСкса 5 Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΌΠΎΠΉ_список [5:])
# элСмСнты Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
print(my_list[:]) 

Π’Ρ‹Π²ΠΎΠ΄

  ['ΠΎ', 'Π³', 'Ρ€']
['Π°', 'ΠΌ', 'ΠΈ', 'Π·']
['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']  

Π—Π΄Π΅ΡΡŒ,

  • my_list[2: 5] Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список с элСмСнтами ΠΈΠ· индСкса 2 Π΄ΠΎ индСкса 4 .
  • my_list[5:] Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список с элСмСнтами ΠΎΡ‚ индСкса 5 Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.
  • my_list[:] Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всС элСмСнты списка

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Когда ΠΌΡ‹ Π½Π°Ρ€Π΅Π·Π°Π΅ΠΌ списки, Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс являСтся Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ, Π° ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ β€” ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ.


Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π² список Python

Бписок Python прСдоставляСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ добавлСния элСмСнтов Π² список.

1. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ append()

ΠœΠ΅Ρ‚ΠΎΠ΄ append() добавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка. НапримСр,

 числа = [21, 34, 54, 12]
print("ΠŸΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ:", числа)
# ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ добавлСния
числа.Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅(32)
print("ПослС добавлСния:", числа) 

Π’Ρ‹Π²ΠΎΠ΄

  ΠŸΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ: [21, 34, 54, 12]
ПослС добавлСния: [21, 34, 54, 12, 32]  

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создали список с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² . ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° строку,

 чисСл. append(32) 

Π—Π΄Π΅ΡΡŒ append() добавляСт 32 Π² ΠΊΠΎΠ½Π΅Ρ† массива.

2. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° extend()

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ extend() для добавлСния всСх элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ списка Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. НапримСр,

 простыС_числа = [2, 3, 5]
print("Бписок1:", простыС_числа)
Ρ‡Π΅Ρ‚Π½Ρ‹Π΅_числа = [4, 6, 8]
print("Бписок2:", Ρ‡Π΅Ρ‚Π½Ρ‹Π΅_числа)
# ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° списка
prime_numbers.extend (Ρ‡Π΅Ρ‚Π½Ρ‹Π΅_числа)
print("Бписок послС добавлСния:", prime_numbers) 

Π’Ρ‹Π²ΠΎΠ΄

  Бписок1: [2, 3, 5]
Бписок2: [4, 6, 8]
Бписок послС добавлСния: [2, 3, 5, 4, 6, 8]  

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° списка с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ prime_numbers ΠΈ even_numbers . ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

 prime_numbers.extend(even_numbers) 

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ добавляСм всС элСмСнты even_numbers ΠΊ prime_numbers .


Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ элСмСнты списка

Бписки Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. Бписки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹. И ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ элСмСнты списка, Π½Π°Π·Π½Π°Ρ‡ΠΈΠ² Π½ΠΎΠ²Ρ‹Π΅ значСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° = . НапримСр,

 языка = ['Python', 'Swift', 'C++']
# ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ элСмСнта Π½Π° 'C'
языки[2] = 'Π‘'
print(languages) # ['Python', 'Swift', 'C'] 

Π—Π΄Π΅ΡΡŒ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ индСксу 3 Ρ€Π°Π²Π½ΠΎ 'C++' . Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° 'C' , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ

 языка[2] = 'C' 

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ· списка

1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ del()

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ для удалСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов ΠΈΠ· списка. НапримСр,

 языка = ['Python', 'Swift', 'C++', 'C', 'Java', 'Rust', 'R']
# удаляСм Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт
языки[1]
print(languages) # ['Python', 'C++', 'C', 'Java', 'Rust', 'R']
# ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ послСднСго элСмСнта
языки[-1]
print(languages) # ['Python', 'C++', 'C', 'Java', 'Rust']
# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° элСмСнта
del languages[0 : 2] # ['C', 'Java', 'Rust']
print(languages) 

2. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° remove()

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ remove() для удалСния элСмСнта списка. НапримСр,

 языка = ['Python', 'Swift', 'C++', 'C', 'Java', 'Rust', 'R']
# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ 'Python' ΠΈΠ· списка
языки.ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ('ΠŸΠΈΡ‚ΠΎΠ½')
print(languages) # ['Swift', 'C++', 'C', 'Java', 'Rust', 'R'] 

Π—Π΄Π΅ΡΡŒ languages.remove('Python') удаляСт 'Python' ΠΈΠ· списка языков .


ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками Π² Python

Python ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ со списками.

ΠœΠ΅Ρ‚ΠΎΠ΄ ОписаниС
Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† списка
Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтов списков ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΊΠΎΠ½Π΅Ρ† списка
вставка() вставляСт элСмСнт ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ индСксу
ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ() удаляСт элСмСнт, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ индСксС
ΠΏΠΎΠΏ() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈ удаляСт элСмСнт, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ индСксС
ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ() удаляСт всС элСмСнты ΠΈΠ· списка
индСкс() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнта
счСт() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² спискС
сортировка() ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ/ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ
рСвСрс() ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ элСмСнт списка
ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚Π½ΡƒΡŽ копию списка

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ списка

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов списка. НапримСр,

 языков = ['Python', 'Swift', 'C++']
# итСрация ΠΏΠΎ списку
для языка Π½Π° языках:
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (язык) 

Π’Ρ‹Π²ΠΎΠ΄

  ΠŸΠΈΡ‚ΠΎΠ½
Быстрый
C++  

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия элСмСнта Π² спискС Python

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π² , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, сущСствуСт Π»ΠΈ элСмСнт Π² спискС ΠΈΠ»ΠΈ Π½Π΅Ρ‚. НапримСр,

 языка = ['Python', 'Swift', 'C++']
print('C' Π² языках) # False
print('Python' Π² языках) # True 

Π—Π΄Π΅ΡΡŒ

  • 'C' отсутствуСт Π² языках , 'C' Π² языках оцСниваСтся ΠΊΠ°ΠΊ False .
  • 'Python' присутствуСт Π² языках , 'Python' Π² языках оцСниваСтся ΠΊΠ°ΠΊ True .

Π”Π»ΠΈΠ½Π° списка Python

Π’ Python ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ѐункция len() для опрСдСлСния количСства элСмСнтов Π² спискС. НапримСр,

 языков = ['Python', 'Swift', 'C++']
print("Бписок: ", языки)
print("ВсСго элСмСнтов: ", len(языки)) # 3 

Π’Ρ‹Π²ΠΎΠ΄

 Бписок : ['Python', 'Swift', 'C++']
ВсСго элСмСнтов: 3  

ПониманиС списков Python

ПониманиС списков β€” это ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΈ элСгантный способ создания списков.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *