繁体   English   中英

将字符串列表转换为 2 元组整数列表

[英]Convert list of strings to list of 2-tuples of integers

我目前有以下列表: ['10 90', '10 -90', '100 45', '20 180'] 我正在尝试将字符串列表转换为充满整数的 2 元组,例如[(10, 90), (10, -90), (100, 45), (20, 180)]

我试过使用这段代码:

res = [tuple(map(int, sub.split(', '))) for sub in test_list]

但是,我收到此错误:

ValueError: invalid literal for int() with base 10: '10 90'
Command exited with non-zero status 1 

任何帮助将不胜感激。

尝试这个:

lst = ['10 90', '10 -90', '100 45', '20 180']
res = [tuple(map(int, x.split())) for x in lst]
print(res)

Output:

[(10, 90), (10, -90), (100, 45), (20, 180)]

您可以使用

lst = ['10 90', '10 -90', '100 45', '20 180']
list_of_tuples = [tuple(int(x) for x in item.split()) for item in lst]
print(list_of_tuples)

屈服

[(10, 90), (10, -90), (100, 45), (20, 180)]

您列出的每个值都类似于'10 90' ,2 个空格分隔的数字,它们不是逗号分隔的,您需要使用sub.split(' ')或如文档所述,您没有设置分隔符和空格使用

如果 sep 未指定或为 None,则应用不同的拆分算法:连续空白的运行被视为单个分隔符

values = ['10 90', '10 -90', '100 45', '20 180']

res = [tuple(map(int, sub.split())) for sub in values]
print(res) # [(10, 90), (10, -90), (100, 45), (20, 180)]

res = [tuple(map(int, sub.split(" "))) for sub in values]
print(res) # [(10, 90), (10, -90), (100, 45), (20, 180)]

Code Demo

暂无
暂无

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

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