python - 如何从我的列表和python中的元组中删除空白引号?
问题描述
我是一个新的python开发人员。如果你能帮我解决这个问题,我会很高兴的。问题是我做了一个列表和元组。用户必须键入一些逗号分隔的数字。所以我期待这个结果:
List : ['3', '4', '2', '3', '5']
Tuple : ('3', '4', '2', '3', '5')
并且数字应该按升序显示。它通过下面的代码工作,但显示了一些额外的反逗号,所以如何删除那些空白逗号。
输入一些逗号分隔的数字:4 4 5 6 2 3 1
List : [' ', ' ', ' ', ' ', ' ', ' ', '1', '2', '3', '4', '4', '5', '6']
Tuple : [' ', ' ', ' ', ' ', ' ', ' ', '1', '2', '3', '4', '4', '5', '6']
这是我用来按升序排列列表和元组的代码。另一件事是当我在输入中给出 int() 方法时,用户只能输入数字,而不是任何字符串。它显示一个错误,那么如何做到这一点?
values = input("Type some comma separated numbers: ")
list = values.split()
tuple = tuple(list)
tuple= sorted(values, reverse = False)
list= sorted(values, reverse = False)
print('List : ', list)
print('Tuple : ', tuple)
解决方案
调用 input() 时不能使用 int() ,因为通过用空格分隔数字,您正在创建一个字符串,其中的数字与 base10 数字不相似,因此会出现 ValueError 。
例如:
values = '4 4 5 6 2 3 1'
int(values)
ValueError: invalid literal for int() with base 10: '4 4 5 6 2 3 1'
然而:
values = '4456231'
int(values)
4456231
正如@Corralien 所提到的,您不能使用内置的保留关键字,如 list 和 tuple (除非您先删除它们的命名空间,但这会使事情变得不必要地复杂)。不要用空格分隔关键字的 = 符号也被认为是一种很好的语法。为了得到你需要的东西,你可以这样做:
values = input("Type some comma separated numbers: ")
l = sorted(values.split(), reverse=False)
t = sorted(tuple(l), reverse=False)
print('List : ', l)
print('Tuple : ', t)
但这不会让您将值作为整数,在这种情况下,最好的方法是进行列表理解。我们使用它在列表 l 的值之间进行迭代,并将它们转换为列表 n 中的 int。
values = input("Type some comma separated numbers: ")
l = sorted(values.split(), reverse=False)
n = [int(x) for x in l]
t = sorted(tuple(n), reverse=False)
print('List : ', n)
print('Tuple : ', t)
但是,您要求用户输入以逗号分隔的值,而不是空格。因此,大多数用户宁愿4,4,5,6,2,3,1
输入4 4 5 6 2 3 1
. 在这种情况下,您需要调整您的代码,使其看起来更像这样:
values = input("Type some comma separated numbers: ")
l = sorted(values.split(','), reverse=False)
n = [int(x) for x in l]
t = sorted(tuple(n), reverse=False)
print('List : ', n)
print('Tuple : ', t)
推荐阅读
- woocommerce - Hide "out of stock" label on woocommerce archive page
- docker - node.js docker容器与本地redis服务器的连接(127.0.0.1)
- amazon-s3 - EKS Pod S3 访问被拒绝
- javascript - 如何从 ag 网格中获取所有行并过滤行
- yolo - 对信号迹线的区域进行分类
- google-bigquery - 在 Big Query 中创建表
- android - 使用otp登录一次后应用程序崩溃,然后在注销后尝试再次进入登录页面
- javascript - 如何在每次加载时更改背景图像
- c# - 如何从 StreamReader 读取长度为 n 的字符串?
- python-2.7 - 如何从命令( os.system (Path) )或(os.startfile(path/Filename))在编辑器中打开单个 python 文件(或任何代码文件)?