python - 如何在python中为字符串添加括号
问题描述
我有一个字符串,我想转换为带括号的列表或字符串。我怎么做?
字符串是st = ((22027.0 22943.0, 22026.0 22939.0, 22025.0 22936.0, 22025.0 22932.0, 22027.0 22929.0, 22030.0 22926.0, 22031.0 22922.0, 22033.0 22919.0, 22033.0 22907.0, 22030.0 22908.0, 22029.0 22911.0))
所需的输出应为以下内容:
([(22027.0, 22943.0), (22026.0, 22939.0), (22025.0, 22936.0), (22025.0, 22932.0), (22027.0, 22929.0), (22030.0, 22926.0), (22031.0, 22922.0), (22033.0, 22919.0), (22033.0, 22907.0), (22030.0 ,22908.0), (22029.0, 22911.0)])
到目前为止我尝试了什么?
s = str('((22027.0 22943.0, 22026.0 22939.0, 22025.0 22936.0, 22025.0 22932.0, 22027.0 22929.0, 22030.0 22926.0, 22031.0 22922.0, 22033.0 22919.0, 22033.0 22907.0, 22030.0 22908.0, 22029.0 22911.0))')
op = s.replace(', ', '),(')
这不会给出所需的输出。如何获得以下输出?
([(22027.0, 22943.0), (22026.0, 22939.0), (22025.0, 22936.0), (22025.0, 22932.0), (22027.0, 22929.0), (22030.0, 22926.0), (22031.0, 22922.0), (22033.0, 22919.0), (22033.0, 22907.0), (22030.0 ,22908.0), (22029.0, 22911.0)])
解决方案
删除括号后会更容易。
从那里,您可以拆分逗号并从配对字符串中形成元组(在将它们转换为浮点数之后)
一位评论者有一个很好的单行,但这是一个 for 循环:
st = "((22027.0 22943.0, 22026.0 22939.0, 22025.0 22936.0, 22025.0 22932.0, 22027.0 22929.0, 22030.0 22926.0, 22031.0 22922.0, 22033.0 22919.0, 22033.0 22907.0, 22030.0 22908.0, 22029.0 22911.0))"
st = [x.strip() for x in st[2:-2].split(",")]
res = []
for x in st:
res.append(tuple(float(y) for y in x.split()))
print(res)
推荐阅读
- php - 重定向到 Codeigniter 中的另一个控制器后会话数据丢失
- docker - 在 .net 核心应用程序中获取 Docker 容器 IP
- yii2 - 对用户密码散列 Yii2 使用不同的盐
- sql - TSQL 函数 新列的两个子字符串
- c# - 如何将 DataTable 移动到另一个 DataSet?
- typescript - ng2-file-upload 响应范围
- javascript - 在内部渲染多个反应组件
- 带按钮 onclick
- javascript - Django + Vue.js 导入模块
- c# - MySQL 8.0 concat 从 mediumtext 列返回 system.byte[]
- javascript - 将默认道具样式与内联样式相结合