【问题标题】:How to accept input into array and sort it?如何接受输入到数组中并对其进行排序?
【发布时间】:2021-12-08 19:26:43
【问题描述】:

如何接受输入到数组中并排序?

美好的一天,我是编程新手,也是 Python 语言的新手。

我想尝试编码要求用户输入 10 个数字,然后按升序显示。我不确定如何使这项工作。这是我所拥有的:

print("Input 10 numbers:")
num = list(map(int, input().split()))
num.sort()
print("Element value in ascending order:")
print(*num)

但此代码是列表。我需要接受输入,然后将其作为一个数组,然后将其排序为升序。提前致谢。

【问题讨论】:

  • 你的代码现在有什么问题? 它按我的预期工作
  • 您的代码已经给出了一个排序列表,您似乎在问如何将其从列表转换为数组?
  • Python 列出 ARE 数组。没有单独的数组数据类型。
  • 问题是,你对 Python 的了解还不够,无法知道你想要什么。你所拥有的是一个一维数组。它像数组一样被创建、迭代和索引。它恰好被称为“列表”,但它是所有其他语言都称为数组的东西。现在,如果您将使用numpy 进行数值分析,那么还需要另一个步骤,但是对于初学者问题,您已经拥有了所需的东西。你有一个数组。

标签: python arrays python-3.x sorting


【解决方案1】:

你可以这样做:

nums = input()
# say user inputs 1 2 3 4 ....10
nums = nums.split() # converts it to a list of strings
nums = [int(num) for num in nums] # convert them to ints
print(sorted(nums))

您还可以测试字符串是否可以转换为整数,以使您的代码更健壮。

【讨论】:

  • 他的代码已经在工作了。可能需要澄清这个问题。
  • 这段代码对我有用。谢谢
  • @Spooderman 我有点困惑。您在上面发布的原始代码给出的结果与此相同。你喜欢这个的什么?
  • 我真的不知道。它也适用于我。请问,这是一维数组吗?
  • @Spooderman Python 没有 array 作为基本类型(尽管如果您需要数组的速度和效率,可以使用 array 模块)。 Python 有 lists 并且它们总是一维的。如果您需要 2 个维度,您可以创建一个列表列表。仅在比较不同语言时才将列表称为“数组”。如果你在 Python 中工作,它可能只会引起混乱。
猜你喜欢
  • 2019-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
  • 2021-10-15
  • 1970-01-01
相关资源
最近更新 更多