在 Python 中输入列表

2024 年 8 月 29 日 | 阅读 6 分钟

在本文中,我们将讨论如何在 Python 中输入列表。但在讨论其方法之前,我们必须了解 Python 中的列表。

什么是列表?

列表是 Python 提供的一种内置数据结构,它能够组织和存储项目的集合。列表以逻辑顺序呈现可变项,并用方括号括起来。每个列表项都用逗号与其他项区分开来。

示例

在此示例中,使用了列表“drivers”,其中包含元素“LEWIS”、“GEORGE”、“MAX”“SEBASTIAN”。列表可以包含由字符串、数字甚至其他列表组成的条目。

在 Python 中,列表数据结构是可变的,允许用户添加、删除或更新其元素。列表支持对其元素的随机访问。列表的索引0开始,并且可以通过索引访问所有必需的元素。

输入

在 Python 中有多种输入方式。以下是一些提到的方法:

1. input()

使用 Python 的input()函数,您可以将用户输入发送到列表并将其保存为字符串。之后,可以处理输入以生成列表格式。

示例

输出

Enter elements of the list separated by space: 1 2 3 4 5
List: [1, 2, 3, 4, 5]

在这种情况下,会提示用户输入由空格分隔的项目列表。使用input()函数,输入被拆分为其各个部分,然后使用split()方法。通过列表推导式,将结果中的项目全部转换为数字。

例如,如果用户输入“1 2 3 4 5”,程序将把他们的输入转换为列表[1, 2, 3, 4, 5]并打印为结果。

根据您期望列表中的组件类型(例如字符串、浮点数等),您可以修改转换技术或包含错误处理来处理不正确的输入。

2. 使用 split() 和 map()

可以拆分作为字符串发送的输入。之后,可以通过为每个项提供转换函数,将其转换为所需的数据类型。

示例

输出

Enter elements of the list separated by space: 1 2 3 4 5
List: [1, 2, 3, 4, 5]

split()是 Python 中一种内置的字符串方法。它使用作为参数传递的定界符将字符串拆分成子字符串列表。内置的 split() 函数的工作方式是,如果代码中使用时未指定特定定界符,则它主要根据空格(如制表符、空格换行符)将输入文本分成多个部分。

样本中的输入文本使用input_str.split()被拆分为其组成部分。split()方法在每个空格处将输入字符串分成两半,从而得到一个子字符串列表。例如,如果用户输入“1 2 3 4 5”split()将拆分为["1", "2", "3", "4", "5"]

Python 的内置 map() 方法返回将指定函数应用于可迭代对象(如列表)的每个项以生成迭代器的结果。在示例中,使用map(int, input_str.split()) 方法int() 函数应用于拆分后的输入字符串的每个组件。

int() 方法将表示整数的字符串转换为实际整数。我们将int()映射到拆分后的输入字符串的每个元素,以获得一个包含相应整数值的新可迭代对象。语句map(int, ["1", "2", "3", "4", "5"])将产生一个包含整数 [1, 2, 3, 4, 5]的迭代器。

3. 使用循环

您可以使用循环反复提示用户输入,并将每个输入的 M值附加到列表中。

示例

输出

Enter the number of elements: 4
Enter element 1: TESLA
Enter element 2: FORD
Enter element 3: FERRARI
Enter element 4: MERCEDES
List: ['TESLA','FORD','FERRARI', 'MERCEDES']

在此示例中,用户被提示输入他们想要输入的元素数量。假设他们输入4。然后,程序进入一个使用range(n)迭代4次循环。在每次迭代中,都会提示用户输入一个元素,从Enter Element 1开始,并在后续迭代中递增。

在前一个示例中,用户输入了“TESLA”、“FORD”、“FERRARI”“MERCEDES”作为相应元素。使用append() 方法将每个元素附加到my_list 列表

  • 输入验证:在处理输入列表时,考虑输入验证至关重要。为了确保用户提供准确的输入,您可能需要实施错误处理。例如,您可以确定输入是否在所需的格式或范围内,如果发现无效输入,则要求用户重新输入。
  • 使用自定义分隔符进行拆分:拆分字符串时,split() 方法默认使用空格字符作为定界符。但是,split() 方法允许您将自定义定界符作为参数。例如,使用input_str.split(',')来拆分逗号分隔的输入。
  • 处理不同的数据类型:根据您的需求,您可能需要管理输入列表中的多种数据类型。要转换输入组件的数据类型,请使用适当的转换操作,如int()、float() 或 str()
  • 提示输入列表长度:如果您想输入列表的长度,可以先向用户询问元素的数量。然后,您可以分配所需的资源并相应地迭代所需的次数。
  • 输入格式:在提示消息中,请考虑告知用户预期的输入格式。这样做可以避免误解,并确保用户以正确的方式输入。
  • 错误处理:为避免进一步的误解,最好在用户提示消息中正确提及输入数据格式,以便我们确保用户以所需格式输入。
  • 接受多行输入:如果用户希望输入多行,则可以使用循环为每次迭代获取输入元素。如果输入数据包含换行符,则此方法非常有用。

输出

Enter elements of the listmy_list (press 'x' to finish):
LAMBORGHINI
FERRARI
MERCEDES AMG
X
The list will be :['LAMBORGHINI', 'FERRARI', 'MERCEDES AMG'].

结论

最后,我们可以得出结论,要作为输入的数据、用户偏好和需求,以及获取用户输入的方法,可能因上述技术而异。

如果用户想输入字符串,他们可以使用split() 和 map()来根据提供的定界符将给定字符串拆分为不同的部分。用户还可以进行显式类型转换,以转换每个创建的段的数据类型。当输入由空格或逗号分隔时,此方法很有用。

此外,如果输入的组件总数事先未知,则可以使用动态输入过程,在每次迭代后提醒用户提供下一个输入元素,该元素会被添加到相应的数据结构中。