[英]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.