You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将字符串对列表拆分出两个独立的数值列表

问题解决方案

你的思路是完全可行的,Python中没有独立的unzip命令,解压操作可以通过内置函数zip(*可迭代对象)实现,具体实现有两种常用方式:

方式1:简洁写法(使用zip解压)

先对每个字符串做拆分、浮点数转换,再用zip(*)解压得到两个元组,按需转列表即可:

data = ['201.3 49.6', '214.5 51.89', '201.6 43.2']
# 拆分、转格式后解压
x_tuple, y_tuple = zip(*(map(float, item.split()) for item in data))
# 转为列表格式
x = list(x_tuple)
y = list(y_tuple)

运行后输出和要求完全一致:x=[201.3, 214.5, 201.6]、y=[49.6, 51.89, 43.2]

方式2:分步循环写法(更适合初学者理解)

如果对生成式、zip语法不熟悉,可以用最基础的循环逻辑实现,逻辑更直观:

data = ['201.3 49.6', '214.5 51.89', '201.6 43.2']
x = []
y = []
for item in data:
    # 按空格拆分单个字符串得到x、y的字符串格式
    x_str, y_str = item.split()
    # 转浮点数后加入对应列表
    x.append(float(x_str))
    y.append(float(y_str))

关于unzip的说明

你想到的拆分解包逻辑是正确的,Python中zip(*可迭代对象)就是标准的解压实现:它会把传入的可迭代对象里的每个子元素按位置拆分重组,刚好符合你这个场景下把所有x值归为一组、y值归为一组的需求。

内容的提问来源于stack exchange,提问作者Jacob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 05:42:04