![]() |
How to create a list with all values being zero - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: How to create a list with all values being zero (/thread-19770.html) |
How to create a list with all values being zero - 357mag - Jul-13-2019 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? RE: How to create a list with all values being zero - ichabod801 - Jul-13-2019 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))) RE: How to create a list with all values being zero - 357mag - Jul-14-2019 When I tried the numbers [] the program threw an error message. So I presumed you cannot create a list that way. RE: How to create a list with all values being zero - snippsat - Jul-14-2019 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)}.")
RE: How to create a list with all values being zero - ThomasL - Jul-14-2019 (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 = [] |