如何从 python 中的 raw_input 创建一个列表? [复制]
Posted
技术标签:
【中文标题】如何从 python 中的 raw_input 创建一个列表? [复制]【英文标题】:How to make a list from a raw_input in python? [duplicate] 【发布时间】:2014-05-26 10:04:20 【问题描述】:所以我将raw_input
作为某些列表的输入。
x= raw_input()
我在哪里输入1 2 3 4
如果我只输入数字,如何将其转换为整数列表?
【问题讨论】:
map(int, raw_input.split())
@StevenRumbalski map(int, raw_input().split())
?
【参考方案1】:
像这样:
string_input = raw_input()
input_list = string_input.split() #splits the input string on spaces
# process string elements in the list and make them integers
input_list = [int(a) for a in input_list]
【讨论】:
@user3481478 您可以接受您认为最有用的答案。 另外,假设你想指定列表的长度,比如 4 并且只接受 4 个输入到你的列表中,这应该会有所帮助:input_arr = []
while len(input_arr) < 4: input_arr.append(raw_input("enter test arrays:\t"))
【参考方案2】:
list = map(int,raw_input().split())
我们使用高阶函数map
来获取integers
的列表。
【讨论】:
这仅适用于数字或整数,但列表也可能具有组合数据类型作为元素!!!!即:list_new=['aaa','bbb',23,45,'ccc'] 在这种情况下,当读取为字符串时,我们如何拆分它们... 您将 'int' 替换为所需的数据类型。 我有一个混合数据类型,正如您在上面的评论中看到的那样......因此我不能在那里替换任何静态值...... 通常可以针对特定情况编写自定义函数。我认为如果您将其作为单独的问题发布会更好 发布了一个单独的问题....谢谢@perseus 的鼓励....***.com/questions/43822895/…【参考方案3】:您可以使用eval
执行以下操作:
lst = raw_input('Enter your list: ')
lst = eval(lst)
print lst
运行如下:
>>> lst = raw_input('Enter your list: ')
Enter your list: [1, 5, 2, 4]
>>> lst = eval(lst)
>>> print lst
[1, 5, 2, 4]
>>>
【讨论】:
【参考方案4】:以下是用户输入列表的一些示例和简要说明:
您可能经常需要将数据从控制台读取到列表中的代码。可以输入一个数据 每行项目并将其附加到循环中的列表中。例如,下面的代码将每行 1 个数字读入一个列表。
lst1 = [] # Create an empty list
print("Enter 10 Numbers: ")
for i in range(10):
lst1.append(eval(input()))
print(lst1)
有时将数据输入一行以空格分隔会更方便。你可以 使用字符串的 split 方法从输入行中提取数据。例如,以下 代码从一行中读取十个用空格分隔的数字到一个列表中。
# Read numbers as a string from the console
s = input("Enter 10 numbers separated by spaces from one line: ")
items = s.split() # Extract items from the string
lst2 = [eval(x) for x in items] # Convert items to numbers
print(lst2)
调用input()
会读取一个字符串。使用s.split()
提取由分隔的项目
字符串s
中的空格并返回列表中的项目。最后一行通过将项目转换为数字来创建数字列表。
【讨论】:
也许包括您在其中找到此文本和示例的链接? Y. Daniel Liang 的 Python 编程简介第 313 页以上是关于如何从 python 中的 raw_input 创建一个列表? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Python 执行程序? os.system 由于路径中的空格而失败
Python输入函数 raw_input( ) 与 input()