如何在python中创建具有无限元素或其他内容的数组?

时间:2017-01-11 10:32:56

标签: python arrays string

我正在尝试创建一个可以容纳用户输入的字符串的python数组。我试图在循环中实现它,如下所示:

(Loop:)

Enter the string: 

array[1] = (string entered by user)

Enter the next string:

array[2] = (second string entered by user)

....

Enter the nth string:

array[n] = (nth string entered by user)

我怎样才能做到这一点?我听说过动态数组和列表以及内容,但我无法弄明白。

提前谢谢。

3 个答案:

答案 0 :(得分:4)

Python中的默认列表是动态数组。您可以使用以下命令对其进行初始化:

data = []

并使用:

data.append(item)

在最后添加一个元素。

例如:

data = []

while True:
    print('Enter the string:')
    data.append(input())

这将一直持续到机器的所有内存耗尽为止。

您还可以指定一种停止询问用户更多数据的方法。例如,如果用户输入'-1',您可以说循环应该停止:

data = []
while True:
    print('Enter the string:')
    the_input = input()
    if the_input == '-1':
        break
    data.append(the_input)
#do something with the collected data

现在,如果您运行此代码:代码将查询输入,直到您输入-1(我认为如何更改停用词很明显)。然后data包含之前输入的所有数据,您可以以某种方式处理它。

答案 1 :(得分:1)

试试这个:

all_the_things = list()
for x in items:
    all_the_things.append(x)

更多阅读:Python Data Structures

答案 2 :(得分:0)

如果要添加到列表,请使用追加

data = []
data.append('whatever')

您还没有询问如何获取输入,因此我假设您可以这样做。 请记住,您的计算机不会有无限的存储空间 - 如果您在循环中执行此操作,您将在某些时候耗尽内存。