我想知道如何获取代码以检测两位数或三位数并将其放入列表中。当前,它分隔所有两位数字,并为每个数字而不是每个数字分配一个列表值。例如,如果用户输入“ 5 55 6 45 3”,则程序将其输入为“ [5”,“ 5”,“ 5”,“ 6”,“ 4”,“ 5”,“ 3”]。你。
main_list = list(input("Enter numbers: "))
for vals in main_list:
if vals == " ":
main_list.remove(vals)
print("The original numbers are",main_list)
您可以将.split()
方法用于字符串(直接使用字符串,而不是list(...)
):input("Enter numbers: ").split(' ')
返回
["5", "55", "6", "45", "3"]
也就是说,它在每个字符串处分割字符串' '
。请注意如果有一个双倍空格会发生什么:在列表中您将得到空字符串。因此,最好的方法可能是检查字符串是否为非空:
[x for x in input("Enter numbers: ").split(' ') if x]
还要注意,这仅在Python3.x中有效(因为的返回值input
是一个字符串)。Python 2的对应功能是raw_input()
。因此,如果您需要使其与两者兼容,则可以使用
try:
[x for x in raw_input("Enter numbers: ").split(' ') if x]
except NameError:
[x for x in input("Enter numbers: ").split(' ') if x]
但不是相反的方式(input()
存在于Python2中,只是没有做同样的事情)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句