繁体   English   中英

如何使用 python 获取用户输入并将其转换为数组

[英]How to take user input and convert it to an array using python

如何获取用户输入的数字并拆分其数字并分别使用每个数字

例如如果用户输入 '''4568''' 代码应该将 4568 拆分为 4,5,6,8

对用户输入使用列表推导。

values = [int(i) for i in input()]

请注意,此代码不处理用户在其输入中输入非数字字符的情况。 为了处理这种情况,您更愿意编写:

values = [int(i) for i in input() if i.isdigit()]

您可以将map转换为int ,并将map转换为list

digits = list(map(int, input()))

如果您想确保只接受数字,请在input中添加filter

digits = list(map(int, filter(lambda c: c.isdigit(), input())))

将其转换为字符串,迭代为字符串并将每个字符作为 integer。

# Input from the user
inp = input()
digits=[]
for c in str(inp):
   try:
       digit=int(c)
       # Populate the list with the last digit obtained
       digits.append(digit)
   except:
        # I'm assuming you don't need to worry about any other non integer character
        pass
  

或者在一行中,但请注意,如果输入中存在任何非 integer 字符,则 map 失败

inp = 1234
digits = list(map(int, list(str(inp)))

其中list(str(inp))在其字符列表中拆分字符串转换的输入, map将 integer 的转换应用于后一个列表的每个元素,最终转换为列表返回您想要的数组

编辑:我在写评论的同时写代码。 我现在已经将直接int建议集成到 map function

EDIT2:一个挑剔的编辑,以允许实际的用户输入而不是测试变量。 这根本不会改变实质。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM