【问题标题】:How do I create an array with infinite elements or something, in python?如何在python中创建一个包含无限元素或其他东西的数组?
【发布时间】:2017-01-11 10:32:56
【问题描述】:

我正在尝试创建一个 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)

我怎样才能做到这一点?我听说过动态数组和列表之类的东西,但我想不通。

提前谢谢你。

【问题讨论】:

  • 为什么我被向下箭头了?我是新来的,请在破坏我的声誉之前告诉我我做了什么。我正在努力达到 15 岁。
  • 不知道为什么。我唯一能想到的是他们认为你没有先正确搜索。通常,如果寻找解决方案的合理尝试失败了,您只会问关于 SO 的问题。

标签: python arrays string


【解决方案1】:

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 包含之前输入的所有数据,您可以通过某种方式对其进行处理。

【讨论】:

  • OP 最终肯定想要break(基于某个关键字)
  • @Chris_Rands:是的,我已经到了这一点;)。还是谢谢。
  • 非常感谢。这真的很有帮助。
【解决方案2】:

试试这个:

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

更多阅读:Python Data Structures

【讨论】:

    【解决方案3】:

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

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

    您还没有询问如何获取输入,所以我认为您可以做到这一点。 请记住,您的计算机不会有无限存储空间 - 如果您永远循环执行此操作,有时您会耗尽内存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 2018-05-17
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 2022-07-06
      • 2021-11-04
      相关资源
      最近更新 更多