Python Forum
How to create a list with all values being zero
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to create a list with all values being zero
#1
I've written a program that asks the user to input integers which will be placed in a list. I only want to input four integers. I'm looking for ways to make my list all zeros. Doesn't appear that this is as intuitive as arrays are in C++. Anyway this is what I got:

numbers = [0] * 4

index = 0

while index < 4:
    numbers[index] = int(input("Enter a value for the list: "))
    index += 1

print("\nHere is the values you entered: ", end='')

for i in numbers:
    print(str(i) + " ", end='')

print()
print()
According to my book the repetition operator makes multiple copies of a list and then it joins them all together. So is it doing numbers[0] + numbers[0] + numbers[0] + numbers[0] to finally get numbers[0, 0, 0, 0]?

Isn't there an easier way to initialize all elements to zero?
Reply
#2
First, I'm not sure what's so hard about numbers = [0] * 4. That seems like an easy way to initialize a list to zeros. Second of all, you don't need to do that, since you are overwriting all the values anyway. In Python, lists do not have a set size, their size can change. The Pythonic way to get a list of four integers from the user is:

numbers = []
for number in range(4):
    numbers.append(int(input('Enter a value for the list: ')))

print('\nHere are the values you entered: {}.'.format(', '.join(str(number) for number in numbers)))
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#3
When I tried the numbers [] the program threw an error message. So I presumed you cannot create a list that way.
Reply
#4
numbers = [] is the preferred way in Python,do you get error when run @ichabod801 code?
# Using literals [],the prefered way
>>> numbers = []
>>> numbers
[]
>>> numbers.append(0)
>>> numbers
[0]
>>> numbers.append(99)
>>> numbers
[0, 99]
 
>>> # Function object list()
>>> numbers = list()
>>> numbers
[]

>>> # No need initialize list as may do in other langues as C/C++
>>> numbers = [0] * 4
>>> numbers
[0, 0, 0, 0]
If only shall display numbers in a string i would keep it as string,and only convert to int() if needed.
numbers = []
for number in range(4):
    numbers.append(input('Enter a value for the list: '))

print(f"\nHere are the values you entered: {','.join(numbers)}.")
Output:
λ python num.py Enter a value for the list: 10 Enter a value for the list: 0 Enter a value for the list: 0 Enter a value for the list: 999 Here are the values you entered: 10,0,0,999.
Reply
#5
(Jul-14-2019, 07:20 AM)357mag Wrote: When I tried the numbers [] the program threw an error message. So I presumed you cannot create a list that way.
Instead of whining around what about showing the error your program threw?
numbers []
will definitely throw an error because you need to write
numbers = []
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Copying the order of another list with identical values gohanhango 7 1,062 Nov-29-2023, 09:17 PM
Last Post: Pedroski55
  Search Excel File with a list of values huzzug 4 1,147 Nov-03-2023, 05:35 PM
Last Post: huzzug
  Comparing List values to get indexes Edward_ 7 1,083 Jun-09-2023, 04:57 PM
Last Post: deanhystad
  Delete strings from a list to create a new only number list Dvdscot 8 1,466 May-01-2023, 09:06 PM
Last Post: deanhystad
  Adding values with reduce() function from the list of tuples kinimod 10 2,515 Jan-24-2023, 08:22 AM
Last Post: perfringo
  user input values into list of lists tauros73 3 1,025 Dec-29-2022, 05:54 PM
Last Post: deanhystad
  [split] why can't i create a list of numbers (ints) with random.randrange() astral_travel 7 1,430 Oct-23-2022, 11:13 PM
Last Post: Pedroski55
  Create array of values from 2 variables paulo79 1 1,056 Apr-19-2022, 08:28 PM
Last Post: deanhystad
  AttributeError: 'list' object has no attribute 'values' ilknurg 4 14,781 Jan-19-2022, 08:33 AM
Last Post: menator01
  Need to parse a list of boolean columns inside a list and return true values Python84 4 2,037 Jan-09-2022, 02:39 AM
Last Post: Python84

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020