首页 > 解决方案 > 将带有空格分隔的列表压缩成元组

问题描述

我有一个数据框df,其中有一列称为columnListstr。

"1 2,7 8,10 7"

然后我将它们转换为一个列表,如图所示:

[1 2,7 8,10 7]

我想将 list 中的值转换为 tuple :

[(1,2),(7,8),(10,7)]

当前代码:

temp = df['columnList'].str.split(',')
result = list(zip(temp[::2], temp[1::2]))
print(result)

我得到空列表。

df看起来像这样:

column1    columnList
  YY      1 2,7 8,10 7

名称:df,dtype:对象

标签: pythonlistdataframetuples

解决方案


此处不需要使用zip,只需遍历列表,拆分每个元素并将其存储为元组即可。

l = [ '1 2', '7 8', '10 7']
[tuple(int(i) for i in numbers.split()) for numbers in l]

#[(1, 2), (7, 8), (10, 7)]

推荐阅读