Python-da siyahı əlavə etmək və genişləndirmək arasında fərq

append()extend() siyahısı üsulları arasındakı fərq nədir?

2947
31 окт. Claudiu 31 oktyabrda təyin olundu 2008-10-31 08:55 '08 saat 08:55 'da 2008-10-31 08:55
@ 28 cavab

append : sonuna bir obyekt append edir.

 x = [1, 2, 3] x.append([4, 5]) print (x) 

sizə verir: [1, 2, 3, [4, 5]]


extend : Yırtıcıdan maddələr əlavə edərək siyahı genişləndirir.

 x = [1, 2, 3] x.extend([4, 5]) print (x) 

sizə verir: [1, 2, 3, 4, 5]

4423
31 окт. Kender 31 oct tərəfindən verilən cavab . 2008-10-31 09:02 '08 at 09:02 2008-10-31 09:02

append siyahıya bir element append edir və extend birinci siyahı başqa bir siyahı ilə birləşdirir (və ya başqa bir iterable, mütləq siyahı deyil).

 >>> li = ['a', 'b', 'mpilgrim', 'z', 'example'] >>> li ['a', 'b', 'mpilgrim', 'z', 'example'] >>> li.append("new") >>> li ['a', 'b', 'mpilgrim', 'z', 'example', 'new'] >>> li.append(["new", 2]) >>> li ['a', 'b', 'mpilgrim', 'z', 'example', ['new', 2]] >>> li.insert(2, "new") >>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new'] >>> li.extend(["two", "elements"]) >>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements'] 
border=0

Python -da batırmaqdan .

556
31 окт. Harley Holcombe tərəfindən 31 oktyabrda verilən cavab 2008-10-31 08:57 '08 at 8:57 2008-10-31 08:57

Siyahı əlavə etmək və genişləndirmək arasında fərq nədir?

  • append , argümanı siyahının sonuna ayrı bir maddə kimi append edir. Siyahının uzunluğu birbaşa artacaq.
  • siyahı genişləndirərək siyahıdakı hər bir maddə əlavə edərək, öz arqumentini genişləndirir. Siyahının uzunluğu, təkrar arqumentdə neçə elementin olmasına baxmayaraq, artacaq.

append

list.append metodu, obyektin sonuna bir obyekt əlavə edir.

 my_list.append(object) 

Nə obyekt olursa olsun, bir ədəd, bir dize, başqa bir siyahı və ya başqa bir şey olsun, bu, my_list sonuna siyahıda ayrıca giriş kimi əlavə olunur.

 >>> my_list ['foo', 'bar'] >>> my_list.append('baz') >>> my_list ['foo', 'bar', 'baz'] 

Belə ki, siyahı bir obyektdir. Siyahıya başqa bir siyahı əlavə etsəniz, ilk siyahı siyahıun sonunda (istədiyiniz nə ola bilər) bir obyekt olacaq:

 >>> another_list = [1, 2, 3] >>> my_list.append(another_list) >>> my_list ['foo', 'bar', 'baz', [1, 2, 3]] #^^^^^^^^^--- single item at the end of the list. 

extend

list.extend metodu iterated maddələr əlavə edərək siyahı genişləndirir:

 my_list.extend(iterable) 

Beləliklə, genişlənərkən təkrarlanan elementin hər elementi siyahıya əlavə olunur. Məsələn:

 >>> my_list ['foo', 'bar'] >>> another_list = [1, 2, 3] >>> my_list.extend(another_list) >>> my_list ['foo', 'bar', 1, 2, 3] 

Xəttin yinelenerek olduğunu unutmayın, buna görə siyahı bir xəttlə genişləndirdiyiniz təqdirdə, xətt təkrarlama prosesində hər bir xarakter əlavə edin (istəkinizə uyğun gəlməyən):

 >>> my_list.extend('baz') >>> my_list ['foo', 'bar', 1, 2, 3, 'b', 'a', 'z'] 

Operatorın yüklənməsi, __add__ ( + ) və __iadd__ ( += )

++= operatorlar list üçün müəyyən edilir. Onlar bir uzantıya semantik olaraq bənzəyirlər.

my_list + another_list üçüncü bir siyahısını yaradır, belə ki nəticəsini geri ala bilərsiniz, ancaq ikinci təkrarlanan siyahı olmalıdır.

my_list += another_list , siyahıdakı yerini dəyişdirir (bu, bir operatordur və biz gördüklərimiz siyahıları dəyişdirilə bilən obyektlərdir), belə ki yeni bir siyahı yaratmır. İkinci iteration də hər hansı iteration ola biləcəyi üçün, bu da bir uzantı kimi işləyir.

my_list = my_list + another_list - my_list = my_list + another_list bərabər deyil += - bu, my_list üçün təyin edilmiş yeni bir siyahı verir.

Zaman mürəkkəbliyi

Əlavə bir sabit vaxt mürəkkəbliyi var , O (1).

Uzadmanın müvəqqəti mürəkkəbliyi var, O (k).

Bir neçə append əlavələr üzərində təkrarlanma, bir uzantıya bərabər hala gətirən mürəkkəbliyi artırır və uzadılmanın yinelemesi C'de tətbiq olunduğundan, iterandan siyahıya ardıcıl maddələr əlavə edəcəyik.

Performans

Əlavənin, uzadılması ilə eyni nəticə əldə etmək üçün istifadə oluna biləcəyi üçün, nə daha məhsuldar olduğunu təəccübləndirə bilərsiniz. Aşağıdakı funksiyalar eynidır:

 def append(alist, iterable): for item in iterable: alist.append(item) def extend(alist, iterable): alist.extend(iterable) 

Ona vaxt verək

 import timeit >>> min(timeit.repeat(lambda: append([], "abcdefghijklmnopqrstuvwxyz"))) 2.867846965789795 >>> min(timeit.repeat(lambda: extend([], "abcdefghijklmnopqrstuvwxyz"))) 0.8060121536254883 

Zaman şərhinə toxundu

Şərhdə deyilir:

Mükəmməl cavab, yalnız bir maddə əlavə etmək üçün vaxt ayırmaq mümkün deyil.

Səmərəli şəkildə düzgün bir şey edin. İtənmiş bütün elementləri əlavə etmək istəyirsinizsə, extend . Sadəcə bir element əlavə etsəniz, append .

Beləliklə, bu, vaxtın necə işlədiyini görmək üçün bir sınaq yaratmaq edək:

 def append_one(a_list, element): a_list.append(element) def extend_one(a_list, element): """creating a new list is semantically the most direct way to create an iterable to give to extend""" a_list.extend([element]) import timeit 

Və genişlənmənin təkrarlanan sadə istifadəsini yaratmağımızın yolundan çıxış yolu (kiçik) vaxt sərf edir.

 >>> min(timeit.repeat(lambda: append_one([], 0))) 0.2082819009956438 >>> min(timeit.repeat(lambda: extend_one([], 0))) 0.2397019260097295 

Bundan əlavə, əlavə etmək üçün yalnız bir maddə olduğumuzda heç bir şeyin extend gəldiyini öyrənirik.

Bundan əlavə, bu şərtlər vacib deyildir. Sadəcə olaraq Pythonda, semantik olaraq doğru şeylər edərkən hər şeyi doğru etdiyini vurğulayıram.

İki müqayisə edilən əməliyyatların vaxtını test edə və birmənalı və ya tərs nəticə əldə edə bilərsiniz. Sadəcə semantik cəhətdən düzgün bir şey etməyə diqqət yetirin.

Nəticə

extend , extend semantik cəhətdən daha aydındır və hər elementi təkrarlanmaq üçün siyahıya əlavə edəcəyiniz zaman append daha sürətli tətbiq oluna bilər.

Siyahınıza əlavə etmək üçün yalnız bir element (iteration daxil deyil) varsa, append komanda istifadə append .

333
24 янв. Cavab 24 yanvarda Aaron Hall tərəfindən verildi . 2015-01-24 01:44 '15 at 1:44 2015-01-24 01:44

Və bu kontekstdə də strings də yineleyici olduğunu xatırlamaq yaxşıdır.

 >>> a = [1, 2] >>> a [1, 2] >>> a.extend('hey') >>> a [1, 2, 'h', 'e', 'y'] 
250
04 нояб. Cavab tatsujin 04 noyabr. 2008-11-04 18:19 '08 at 18:19 2008-11-04 18:19

append bir maddə append edir. extend maddələrin siyahısını əlavə edir.

Qeyd: əlavə etmək üçün siyahı təqdim etdikdə, başqa bir maddə əlavə edir:

 >>> a = [1, 2, 3] >>> a.append([4, 5, 6]) >>> a [1, 2, 3, [4, 5, 6]] 
105
31 окт. Greg Hewgill tərəfindən verilmiş cavab 31 oktyabr 2008-10-31 08:57 '08 at 8:57 2008-10-31 08:57

Aşağıdakı iki fraqment semantik cəhətdən bərabərdir:

 for item in iterator: a_list.append(item) 

 a_list.extend(iterator) 

Dövrü C-də həyata keçirildiyi üçün sonuncu daha sürətli ola bilər.

51
21 авг. Erik 21 aug tərəfindən verilmiş cavab . 2012-08-21 00:11 '12 saat 12:11 'da 2012-08-21 00:11

Append () metodu bir maddə siyahısının sonuna əlavə edir.

 x = [1, 2, 3] x.append([4, 5]) x.append('abc') print(x) # gives you [1, 2, 3, [4, 5], 'abc'] 

Extend () metodu bir arqument, bir siyahı alır və arqumentin hər bir elementini orijinal siyahıya alır. (Siyahılar dərs kimi tətbiq olunur) "yaratmaq" siyahısı həqiqətən sinifin nümunəsidir, belə ki, siyahıda onunla işləyən metodlar var.

 x = [1, 2, 3] x.extend([4, 5]) x.extend('abc') print(x) # gives you [1, 2, 3, 4, 5, 'a', 'b', 'c'] 

Python -da batırmaqdan .

36
31 окт. CodyChan tərəfindən verilmiş cavab 31 oktyabr. 2013-10-31 16:12 '13 saat 16:12 'da 2013-10-31 16:12

Yerə genişlənmək yerinə "+" qaytarmaq üçün istifadə edə bilərsiniz.

 l1=range(10) l1+[11] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11] l2=range(10,1,-1) l1+l2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2] 

Yerdəki davranışlar üçün += , ancaq append uzaqlaşmaq və extend asılı olaraq fərqlənir. Ən böyük fərqlərdən biri += funksiyadan istifadə edildikdə, bu blog yazısına baxın.

35
26 авг. cavab verdi denfromufa 26 aug. 2013-08-26 14:21 '13 'da 14:21' də 2013-08-26 14:21

Əlavə edin və yeniləyin

2019

18 окт. Giovanni Gianni tərəfindən 18 oct cavab verdi. 2017-10-18 10:33 '17 saat 10:33 'də 2017-10-18 10:33' a çatdı

append(object) - Siyahıya bir obyekt əlavə edərək siyahısı yeniləyir.

 x = [20] # List passed to the append(object) method is treated as a single object. x.append([21, 22, 23]) # Hence the resultant list length will be 2 print(x) --> [20, [21, 22, 23]] 

extend(list) - əsasən iki siyahıdan birləşir.

 x = [20] # The parameter passed to extend(list) method is treated as a list. # Eventually it is two lists being concatenated. x.extend([21, 22, 23]) # Here the resultant list length is 4 print(x) [20, 21, 22, 23] 
20
12 мая '13 в 22:51 2013-05-12 22:51 Cavab 12-12 may 2013 tarixində Chaitanya tərəfindən 10:51 2013-05-12 22:51

extend() bir iterator arqumenti ilə istifadə edilə bilər. Burada bir nümunə. Bu kimi siyahıların siyahısını bir siyahıdan etmək istəyirsiniz:

Of

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

istəyirsən

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

Bunun üçün itertools.chain.from_iterable() istifadə edə bilərsiniz. Bu üsul çıxışı yineleyicidir. Onun tətbiqi bərabərdir

 def from_iterable(iterables): # chain.from_iterable(['ABC', 'DEF']) --> ABCDEF for it in iterables: for element in it: yield element 

Gəlin nümunə ilə dönək, edə bilərik

 import itertools list2d = [[1,2,3],[4,5,6], [7], [8,9]] merged = list(itertools.chain.from_iterable(list2d)) 

və bir axtarış siyahısı almaq.

Bir təkrar ittiham argumenti ilə necə extend()

 merged = [] merged.extend(itertools.chain.from_iterable(list2d)) print(merged) >>> [1, 2, 3, 4, 5, 6, 7, 8, 9] 
19
12 мая '13 в 21:21 2013-05-12 21:21 cavab 12 oktyabr '13 'da saat 21:21' də verildi. 2013-05-12 21:21

Bu + operatoru istifadə edərək appendextend üçün bərabərdir:

 >>> x = [1,2,3] >>> x [1, 2, 3] >>> x = x + [4,5,6] # Extend >>> x [1, 2, 3, 4, 5, 6] >>> x = x + [[7,8]] # Append >>> x [1, 2, 3, 4, 5, 6, [7, 8]] 
17
08 июля '14 в 15:42 2014-07-08 15:42 Cavab verilir skdev75 08 iyul '14 15:42 2014-07-08 15:42

əlavə edin () . Əsasən Pythonda bir element əlavə etmək üçün istifadə olunur.

Məsələn:

 >> a = [1, 2, 3, 4] >> a.append(5) >> print(a) >> a = [1, 2, 3, 4, 5] 

Məsələn 2:

 >> a = [1, 2, 3, 4] >> a.append([5, 6]) >> print(a) >> a = [1, 2, 3, 4, [5, 6]] 

extend () : extend () iki siyahı birləşdirmək və ya birdən çox elementi bir siyahıya daxil etmək üçün istifadə olunur.

Məsələn:

 >> a = [1, 2, 3, 4] >> b = [5, 6, 7, 8] >> a.extend(b) >> print(a) >> a = [1, 2, 3, 4, 5, 6, 7, 8] 

Məsələn 2:

 >> a = [1, 2, 3, 4] >> a.extend([5, 6]) >> print(a) >> a = [1, 2, 3, 4, 5, 6] 
15
13 июня '16 в 13:17 2016-06-13 13:17 Cavab The Gr8 Adakron tərəfindən verilir 13 iyun '13 saat 13:17 2016-06-13 13:17

Həssas, lakin açıqlamamış maraqlı bir nöqtə, genişlənmənin əlavə olaraq daha sürətli olmasıdır. İçəriyə əlavə olan hər hansı bir loop üçün list.extend (processed_elements) əvəzini nəzərdən keçirin.

Yeni maddələrin istifadəsi bütün siyahıların yaddaşda ən yaxşı yerə bölünməsinə gətirib çıxara bilər. Bu bir neçə dəfə edilsə, bir anda 1 maddə əlavə etdiyimiz üçün ümumi performans əziyyət çəkir. Bu mənada list.extend "" .join (stringlist) kimidir.

12
05 авг. cavab bconstanzo 05 aug verilir . 2014-08-05 19:58 '14 at 19:58 2014-08-05 19:58

Əlavə bir dəfə bütün məlumatları əlavə edin. Bütün məlumatlar yeni yaradılmış indeksə əlavə olunacaq. Digər tərəfdən, adı göstərir ki, extend , mövcud diziyi uzadır.

Məsələn,

 list1 = [123, 456, 678] list2 = [111, 222] 

Əlavə ilə:

 result = [123, 456, 678, [111, 222]] 

Uzatmaqla yanaşı:

 result = [123, 456, 678, 111, 222] 
11
16 окт. Cavab verildi Şiv 16 Oktyabr 2014-10-16 09:49 '14 saat 09:49 2014-10-16 09:49

İngilis dili lüğəti append olaraq müəyyənləşdirir və extend :

Əlavə : yazılı bir sənədin sonunda bir şey əlavə edin .
genişləndirin : daha çox şey edin. Artım və ya artım


Bu biliklərə sahib ol, indi anlayaq

1) appendextend arasında fərq

append :

  • Siyahının sonuna kimi (məsələn, siyahıda sonuncu maddə kimi) hər hansı bir Python obyekti əlavə edir.
  • Nəticədə siyahı içəri yerləşdirilə və heterogen elementləri ehtiva edə bilər (məsələn, bir siyahı, bir simli, tuple, lüğət, bir sıra və s.),

extend :

  • Hər hansı bir itaətsiz dəyəri bir arqument kimi alır və siyahı daha genişləndirir.
  • Nəticədə siyahı həmişə bir ölçülü siyahıdır (yəni Nesting deyil) və list(iterable) tətbiq etmək nəticəsində (heterogen) heterogen elementlər (məsələn, simvollar, list(iterable) , float) ola bilər.

2) appendextend arasında oxşarlıq

  • Hər ikisi də tam bir arqument var.
  • Həm də siyahıdakı yeri dəyişdirin.
  • Nəticədə hər ikisi də geri None .

bir nümunə

 lis = [1, 2, 3] # 'extend' is equivalent to this lis = lis + list(iterable) # 'append' simply appends its argument as the last element to the list # as long as the argument is a valid Python object lis.append(object) 
5
30 дек. Cavab verilir kmario23 30 dek. 2017-12-30 21:38 '17 'da 21:38' də 2017-12-30 21:38 'də
 list1 = [1,2,3,4,5] list2 = ["a","b","c","d","e"] 

Əlavə et:

 print list.append(list2) 

: [1,2,3,4,5, ["a", "b", "c", "d", "e"]]

genişləndirmək:

 print list1.extend(list2) 

: [1,2,3,4,5, "a", "b", "c", "d", "e"]

4
18 сент. Cavab Neeraj Sharma 18 sep tərəfindən verilir . 2014-09-18 22:19 '14 at 10:19 PM 2014-09-18 22:19

Ümid edirəm ki, mən bu məsələyə faydalı əlavə edə bilərəm. Belirli bir növü olan bir obyektin siyahısı, məsələn, Info saxlandığı halda, extend metodunun uyğun olmayan vəziyyəti: for loop və hər bir Info obyektini yaratdıqda və siyahıdan saxlamaq üçün extend , bu uğursuz olacaq. Istisna belədir:

TypeError: "Info" obyekti yinelenemez

append üsulunu istifadə etsəniz, nəticə OK olacaq. extend metodunu hər dəfə istifadə edərkən, həmişə bir siyahı və ya hər hansı digər toplama növü olaraq nəzərdən keçirəcək, əvvəlki siyahıdan sonra onu təkrarlayacaq və yerləşdirməlidir. Aydındır ki, müəyyən bir obyekt təkrarlana bilməz.

4
11 февр. Cavab Crabime 11 Fevral verilir. 2017-02-11 04:59 '17 'də 4:59' də 2017-02-11 04:59 'də

Başqa bir lüğət əlavə edin:

 >>>def foo(): dic = {1:'a', 2:'b', 3:'c', 4:'a'} newdic = {5:'v', 1:'aa'} for i in dic.keys(): if not newdic.has_key(dic[i]): newdic[i] = dic[i] print "Appended one:", newdic >>>foo() Appended one: {1: 'a', 2: 'b', 3: 'c', 4: 'a', 5: 'v'} 
4
17 авг. cavab Sanyal 17 aug verilir . 2015-08-17 15:02 '15 at 15:02 2015-08-17 15:02

"Əlavə etmə" üsulu parametrini siyahıya bir maddə kimi əlavə edir və "genişləndirmək" siyahı alır və məzmununu əlavə edir.

Məsələn,

uzanır

  letters = ['a', 'b'] letters.extend(['c', 'd']) print(letters) # ['a', 'b', 'c', 'd'] 

əlavə edin

  letters.append(['e', 'f']) print(letters) # ['a', 'b', 'c', 'd', ['e', 'f']] 
3
31 авг. Cavab verilir Viraj Kaulkar 31 av . 2016-08-31 20:55 '16 saat 20:55 'da 2016-08-31 20:55

Onları daxilən fərqləndirmək

 l1 = ['a', 'b', 'c'] l2 = ['d', 'e', 'f'] l1.append(l2) l1 ['a', 'b', 'c', ['d', 'e', 'f']] 

Bu l1 vücudunu bədənində (iç içə) çıxarır.

 # Reset l1 = ['a', 'b', 'c'] l1.extend(l2) l1 ['a', 'b', 'c', 'd', 'e', 'f'] 

Bu iki ayrı insanın bir ailə qurması və qurulması sanki.

Ayrıca referansınız üçün bütün liste metodlarının kapsamlı bir bakışını edirəm.

 list_methods = {'Add': {'extend', 'append', 'insert'}, 'Remove': {'pop', 'remove', 'clear'} 'Sort': {'reverse', 'sort'}, 'Search': {'count', 'index'}, 'Copy': {'copy'}, } 
2
04 дек. Cavab JawSaw tərəfindən verilir 04 dekabr. 2017-12-04 13:17 '17 at 1:17 pm 2017-12-04 13:17

Bu, appendextend həqiqətən nə baş verdiyini başa düşməyə kömək etdi:

 a = [[1,2,3],[4,5,6]] print(a) >>> [[1, 2, 3], [4, 5, 6]] a.append([6,7,8]) print(a) >>> [[1, 2, 3], [4, 5, 6], [6, 7, 8]] a.extend([0,1,2]) print(a) >>> [[1, 2, 3], [4, 5, 6], [6, 7, 8], 0, 1, 2] a=a+[8,9,10] print(a) >>> [[1, 2, 3], [4, 5, 6], [6, 7, 8], 0, 1, 2, 8, 9, 10] 
0
20 июля '18 в 20:04 2018-07-20 20:04 cavab 20 İyun, '18 'də saat 20:04' də, 2018-07-20 20:04 'də verilir

Append () metodu ayrı bir element olaraq qəbul edilmiş arqumentləri əlavə edir.

uzadılması () keçmiş argümanların üzərində yineləyir və siyahı genişləndirir, hər elementi təkrarlayır, əsasən bir tam ədədi əlavə etmədən bir neçə element əlavə edər.

 list1 = [1,2,3,4,5] list2 = [6,7,8] list1.append(list2) print(list1) #[1,2,3,4,5,[6,7,8]] list1.extend(list2) print(list1) #[1,2,3,4,5,6,7,8] 
0
21 окт. PythonLover tərəfindən verilən cavabı Oct 21 2018-10-21 23:34 '18 'də saat 11:34 ' də 2018-10-21 23:34

genişləndirmək (L) bu siyahıdakı bütün elementləri əlavə edərək siyahı genişləndirir. L.

 >>> a [1, 2, 3] a.extend([4) #is eqivalent of a[len(a):] = [4] >>>a [1, 2, 3, 4] a =[1,2,3] >>> a [1, 2, 3] >>> a[len(a):] = [4] >>> a [1, 2, 3, 4] 
0
31 авг. cavab tessie 31 avqust verilir . 2016-08-31 21:14 '16 'da 21:14' də 2016-08-31 21:14

Əlavə et: Dəyərlərinizi siyahısı sonuna ayrı bir maddə kimi əlavə edir.

məsələn: -

 my_list = ['stack', 'over'] my_list.append('flow') print my_list 

Çıxış:

 ['stack', 'over', 'flow'] 

Qeyd - Siyahıya başqa bir siyahı əlavə etsəniz, ilk siyahı siyahının sonunda bir obyekt olacaq.

məsələn: -

 my_list = ['stack', 'over', 'flow'] another_list = [1,2,3,4] , my_list.append(another_list) print my_list 

Çıxış: -

 ['stack', 'over', 'over', [1,2,3,4]] 

extend() : - öz arqumentini numaralandırır və hər bir elementi siyahıya alır və siyahı genişləndirir. Siyahının uzunluğu arqumentində elementlərin sayına görə artır.

məsələn: -

 my_list = ['stack', 'over'] another_list = [6, 0, 4, 1] my_list.extend(another_list) print my_list 

Çıxış:

 ['stack', 'over', 6, 0, 4, 1] 

Qeyd - Simli yineleyici, buna görə siyahı simli ilə genişləndirirsinizsə, hər simvolu simli üzərində təkrarlayarkən əlavə edirsiniz.

məsələn: -

 my_list = ['stack', 'overflow', 6, 0, 4, 1] my_list.extend('hello') print my_list 
0
25 янв. Cavab Karthik Sai Jan 25 verilir 2019-01-25 13:58 '19 saat 13:58 'də 2019-01-25 13:58

bir obyektə keçən yalnız bir elementlə (bir mübahisə kimi) siyahı (yerə) "genişləndirir".

Dəyişən obyekt ( tərkib olaraq) içərisində olduğu qədər çox elementə görə "genişləndirir" siyahısını genişləndirin (yerində).

Bu, str obyektləri üçün bir az qarışıq ola bilər.

  1. Bir daşıyan bir dəlil olaraq keçirsəniz: append olaraq bir dize elementi append edir, lakin extend , bu simli uzunluğu kimi bir çox "tək" "str" ​​elementləri əlavə edəcək.
  2. Bir dəlil olaraq strings siyahısına append : append hələ bir "siyahı" elementini sonuna əlavə edər və extend , keçilən siyahının uzunluğu kimi bir çox siyahı elementini əlavə edəcəkdir.
 def append_o(a_list, element): a_list.append(element) print('append:', end = ' ') for item in a_list: print(item, end = ',') print() def extend_o(a_list, element): a_list.extend(element) print('extend:', end = ' ') for item in a_list: print(item, end = ',') print() append_o(['ab'],'cd') extend_o(['ab'],'cd') append_o(['ab'],['cd', 'ef']) extend_o(['ab'],['cd', 'ef']) append_o(['ab'],['cd']) extend_o(['ab'],['cd']) 

istehsal edir:

 append: ab,cd, extend: ab,c,d, append: ab,['cd', 'ef'], extend: ab,cd,ef, append: ab,['cd'], extend: ab,cd, 
-1
31 марта '18 в 21:46 2018-03-31 21:46 ilias iliadis tərəfindən verilmiş cavab 31 mart 18 saat 21:46 2018-03-31 21:46

Əlavə və genişləndirilməsi python genişlənmə mexanizmlərindən biridir.

Əlavə: siyahının sonuna bir maddə əlavə edir.

 my_list = [1,2,3,4] 

Siyahıya yeni bir maddə əlavə etmək üçün əlavə üsulunu aşağıdakı kimi istifadə edə bilərik.

 my_list.append(5) 

Yeni maddənin əlavə olunacaq default yeri həmişə mövqedədir (uzunluğu + 1).

Əlavə et: Əlavə üsulu əlavə etmək üçün məhdudiyyətlərin aradan qaldırılması üçün istifadə edilmişdir. Daxil ilə biz yeni bir element qoymaq istədiyimiz dəqiq mövqeyi dəqiq şəkildə müəyyən edə bilərik.

Metodu (index, obyekt) daxil etmək üçün idarə edin. İki arqument götürülür, ilk olaraq bizim maddə daxil etmək istəyirik indeks və ikinci maddə.

 Example: my_list = [1,2,3,4] my_list[4, 'a'] my_list [1,2,3,4,'a'] 

Genişləmə: iki və ya daha çox siyahıdan birini bir siyahıya birləşdirmək istəsəniz bu çox faydalıdır. Bir uzantı olmadan, iki siyahıya qoşulmaq istəyirsinizsə, nəticələnən obyekt siyahıların siyahısını ehtiva edir.

 a = [1,2] b = [3] a.append(b) print (a) [1,2,[3]] 

Pos 2-də bir elementə daxil olmağa çalışırıqsa, elementin əvəzinə bir siyahı ([3]) alırıq. İki siyahıya qoşulmaq üçün əlavə olaraq istifadə etməyimiz lazımdır.

 a = [1,2] b = [3] a.extend(b) print (a) [1,2,3] 

Birdən çox siyahıya qoşulmaq üçün

 a = [1] b = [2] c = [3] a.extend(b+c) print (a) [1,2,3] 
-1
17 июля '18 в 10:19 2018-07-17 10:19 Cavab verilir vivek 17 iyul, '18 saat 10:19 'da 2018-07-17 10:19

Extend ('object1', 'object2', 'object3') istifadə, append ('object') istifadə edin.

-2
28 янв. cavab panagiwtis koligas yanvar 28 verilir 2019-01-28 23:52 '19 'da saat 11:52' də 2019-01-28 23:52 'də