как да добавя числа към списък в python


Отговор 1:

Първо вземете входа като raw_input () в списъка с номера и приложете функцията spilled () върху него:

nums = raw_input ("Въведете числа:") .split () # списък с въведени низове

Този ред съхранява различните числа, разделени с интервал, в числата на променливите в списъка във формат на низове.

(Можете да видите списъка, като напишете:

отпечатване на номера

Ако сте въвели числа 1 2 3 като входове, ще видите следния изход:

['1', '2', '3']

Но тези редове не трябва да формират част от вашия код.)

Сега трябва да създадете празен списък. Този списък по-късно ще съхранява стойностите на предишния списък като ints

num = [] # това трябва да има входове в 'nums' като ints

Трябва да конвертирате всеки номер от номера на първия списък в int и да го съхраните в този номер на втория списък. Това може да стане чрез обхождане на първия списък чрез цикъл for, конвертиране на всеки елемент от този списък с помощта на функцията int () и добавяне към втория списък с помощта на функцията append ():

за i в числа: num.append (int (i))

Това е. Работата свършена. Можете да видите резултатите, като напишете номер за печат.

Накратко, имате нужда от този малък код:

nums = raw_input ("Въведете числа:") .split () # списък с въведени низовеnum = [] # това трябва да има входове в 'nums' като intsза i в числа: num.append (int (i))номер на печат

Резултатът, който ще видите, ще бъде като:

Надявам се това да помогне!


Отговор 2:

Винаги трябва да включвате правилно форматирана извадка от изходния код към всеки програмен въпрос, който публикувате в публичен форум, дискусионна група или пощенски списък.

Да приемем, че сте започнали с код, който изглежда по следния начин:

начална_стойност = [-3, -2, -1, 0]addenda = raw_input ('Моля, въведете набор от числа, разделени с интервал:')

За да използвате тази нова добавка, ако приемете, че вашият потребител предоставя правилно форматиран вход, можете да направите нещо като:

Initial_value.extend ([int (x) за x в addenda.split ()])

Методът .extend () на Python изброява итерации над поредица от нови елементи и добавя всеки към себе си. В този случай ние предоставяме последователност, която се създава динамично чрез разбиране на списък.

Разбиранията на списъците са малко синтактична захар в Python (и няколко други езика), които позволяват да се генерира и филтрира списък динамично.

Това конкретно разбиране взема списъка / последователността, върната от метода низ .split () и извиква функцията int () на всеки. Методът .split () по подразбиране се разделя на празно пространство, а int () е тип / конструктор за цели числа. Предаването на един аргумент на низ в int () се опитва да анализира низа като цяло число.

Ако някой от тези елементи на подниза не може да бъде анализиран като цяло число, отколкото int () ще хвърли изключение и целият израз ще бъде прекъснат (началната_стойност няма да бъде променена в този случай --- но изключението, ако не бъде уловено, ще доведе до интерпретаторът да прекрати с проследяване на стека.

Така че този еднопластов не е много здрав. Можете да направите нещо като:

от __future__ импортиране печат_функцияако 'raw_input' не е в директорията (__ вграден__): raw_input = входprompt = 'Моля, въведете набор от числа, разделени с интервал:'докато е вярно: опитвам: addenda = raw_input (подкана) Initial_value.extend ([int (x) за x в addenda.split ()]) с изключение на ValueError като e: print ('Bzzzt! Опитайте отново') продължи почивка

В този случай отделих подканата само за четливост. (Добавих и малко шаблон, за да позволя на този пример за код да работи прозрачно в Python 2.7 или 3.x).


Отговор 3:

Предполагам, че искате потребителски вход от този тип:

2 3 4 7 9

да се вземат като вход и след това да се съхранява всеки от тях в списък.

Можете да приемете реда като вход и след това да го разделите, като използвате интервал като разделител.

стойности = вход (). split ()

Елементите, съхранявани в `values`, ще бъдат низове. Можете да ги картографирате като цели числа след въвеждането, като използвате:

стойности = списък (map (int, input (). split ()))

"Стойностите" сега ще съдържат цели числа.

>>> стойности = input (). split ()2 3 4 7 9>>> стойности['2', '3', '4', '7', '9']>>> стойности = списък (map (int, input (). split ()))2 3 4 7 9>>> стойности[2, 3, 4, 7, 9]

Отговор 4:

Ако имате предвид как да добавите всяка дума от низ, тогава split () трябва да бъде това, което търсите:

>>> низ = "здравей, свят">>> string.split ()['Здравей свят']

За да използвате това за цели числа, въведени от потребителя, можете да използвате:

>>> user_input = input ("Въведете вашите номера \ n")Въведете вашите номера1 2 3>>> [int (x) за x в user_input.split ()][1, 2, 3]

Имайте предвид, че split () взема интервал като разделител по подразбиране, но това може да бъде всичко. Например:

>>> user_input = input ("Въведете вашите номера \ n")Въведете вашите номера1,2,3>>> [int (x) за x в user_input.split (",")][1, 2, 3]

Отговор 5:

Така че потребителят е помолен да въведе елементи. И той влиза в елементи, разделени от пространството.

a = input ("Моля, въведете елементи")печат (a.split ())

Сега, да предположим, че потребителят въвежда 1 2 3 4 5. И така, стойността на „a“ ще бъде „1 2 3 4 5“. Но вие искате да добавите стойностите в списък. Така че, просто направете a.split (), както е споменато в ред 2. Изходът ще бъде нещо като

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

PS: Примерът, споменат по-горе, се основава на случая на употреба, споменат в коментарите.


Отговор 6:
l = [x за x във вход (). split ()]печат (l)

Вход :

>>> 1 2 ff 4 gg 6

Изход:

['1', '2', 'ff', '4', 'gg', '6']

Можете също така да използвате функция на картата за определен тип данни като (Python 2x):

x = map (int, raw_input (). split ())

Вход :

>>> 1 2 3 4 5

Изход:

['1', '2', '3', '4', '5']

Отговор 7:

Можете да използвате следния синтаксис:

l = списък (map (int, input (). split ()))

печат (l)

Вход: 1 2 3 4

Изход: [1, 2, 3, 4]

Мисля, че това е най-простият начин да го направя.

Обяснение: Започваме от вътрешните скоби. Третата скоба взема целочислено въвеждане, разделено с интервали. Втората скоба картографира стойностите, а третата скоба ги преобразува в списък.