【问题标题】:How to make a list from a raw_input in python? [duplicate]如何从 python 中的 raw_input 创建一个列表? [复制]
【发布时间】: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()) ?

标签: python list python-2.7 raw-input


【解决方案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 的鼓励....stackoverflow.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 页
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 2019-11-12
    • 2020-12-22
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 2020-09-15
    相关资源
    最近更新 更多