Python'daki bir diziye nasıl öğe bildirilir ve eklenir?


386

Python bir diziye öğe eklemeye çalışıyorum.

koşarım

array = {}

Sonra yaparak bu diziye bir şeyler eklemek deneyin:

array.append(valueToBeInserted)

Bunun için bir .appendyöntem yok gibi görünüyor . Bir diziye nasıl öğe eklerim?

Yanıtlar:


692

{}dizi / listeyi değil, boş bir sözlüğü temsil eder. Listeler veya diziler için ihtiyacınız var [].

Boş bir listeyi başlatmak için şunu yapın:

my_list = []

veya

my_list = list()

Listeye eleman eklemek için şunu kullanın: append

my_list.append(12)

To extendlisteden başka liste kullanımından unsurları içerecek şekildeextend

my_list.extend([1,2,3,4])
my_list
--> [12,1,2,3,4]

Bir öğeyi listeden kaldırmak için şunu kullanın: remove

my_list.remove(2)

Sözlükler, ilişkilendirilebilir dizi veya harita olarak da bilinen anahtar / değer çiftlerinin bir koleksiyonunu temsil eder.

Boş bir sözlük başlatmak için {}veya tuşunu kullanın.dict()

Sözlüklerin anahtarları ve değerleri vardır

my_dict = {'key':'value', 'another_key' : 0}

Bir sözlüğü başka bir sözlüğün içeriğiyle genişletmek için updateyöntemi kullanabilirsiniz

my_dict.update({'third_key' : 1})

Sözlükten bir değer kaldırmak için

del my_dict['key']

Oh tamam, bir liste bir anahtar ve bir değer olması gerektiğini anladım, ama sanmıyorum
AkshaiShah

38

Hayır, yaparsanız:

array = {}

Örneğinizde arraybir dizi olarak değil sözlük olarak kullanıyorsunuz . Bir diziye ihtiyacınız varsa, Python'da listeleri kullanırsınız:

array = []

Ardından, yaptığınız öğeleri eklemek için:

array.append('a')

1
Nitpicking: Hiçbir şey beyan etmiyorsun . Geçerli kapsamda bir sözlük / liste nesnesine atıfta bulunursunuz.

16

Diziler ( listpython olarak adlandırılır ) []gösterimi kullanır. {}içindir dictbir dict için (diğer dillerde vb olarak da adlandırılan karma tablolar, ilişkili diziler,) sahip olmayacak şekilde 'ekleme'.

Gerçekten bir dizi (liste) istiyorsanız, şunu kullanın:

array = []
array.append(valueToBeInserted)

11

Sadece tamamlama uğruna, bunu da yapabilirsiniz:

array = []
array += [valueToBeInserted]

Dizelerin bir listesiyse, bu da çalışır:

array += 'string'

2

JAVA gibi bazı dillerde kıvırcık parantezleri kullanarak aşağıdaki gibi bir dizi tanımlarsınız, ancak python'da farklı bir anlamı vardır:

Java:

int[] myIntArray = {1,2,3};
String[] myStringArray = {"a","b","c"};

Bununla birlikte, Python'da kıvırcık parantezler, bir key:valueatama gerektiren sözlükleri tanımlamak için kullanılır.{'a':1, 'b':2}

Bir diziyi (aslında python'da liste olarak adlandırılır) tanımlamak için şunları yapabilirsiniz:

Python:

mylist = [1,2,3]

veya aşağıdaki gibi diğer örnekler:

mylist = list()
mylist.append(1)
mylist.append(2)
mylist.append(3)
print(mylist)
>>> [1,2,3]

2

Ayrıca şunları da yapabilirsiniz:

array = numpy.append(array, value)

numpy.append()Yöntemin yeni bir nesne döndürdüğünü unutmayın , bu nedenle ilk dizinizi değiştirmek istiyorsanız şunları yazmanız gerekir:array = ...


-1

Hepinizin yanlış olduğuna inanıyorum. yapman lazım:

array = array[] tanımlamak için:

array.append ["hello"] eklemek için.


4
Bir dizi tanımlamanın doğru yoluarray = []
Shai

1
Bunu kullanarak da tanımlayabilirsiniz array = list(). Bunu [] kullanarak bir dizi olarak tanımlamanın, yalnızca tek bir tamsayı ile dizi bölümü gibi diziler için kullanılabilen belirli işlevler sağladığını unutmayın. Ör. array/3
Dalton Whyte

Sözdizimi Hatası: geçersiz sözdizimi
CodeGuru

Python kullanırken listeye sadık
kal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.