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