Python: 在列表中保存一个元组

Python: Save a tuple in a list

根据保存在 DataFrame 中的数据,我必须重新创建以下格式(即列表(元组(元组))),因此它应该具有与以下相同的结构:

coord = [((9, 9), (10, 6), (11, 3),(12, 6))]

到目前为止,我已经能够通过以下代码从 DataFrame 创建元组:

coord_y = tuple(data_df['data'].iloc[i:])
coord_x = tuple(data_df['data'].index.values[i:])

coord = list(zip(coord_x, coord_y)) # stack into (x,y) coord

产生:

[(9, 9), (10, 6), (11, 3), (12, 6)]

这是错误的,因为它缺少“外部”元组,应该如下所示:

[((9, 9), (10, 6), (11, 3),(12, 6))]

我做错了什么?

只需将您的 zip 包裹在一个元组中。

coord_y = tuple(data_df['data'].iloc[int(time_steps[-1]-l-1):])
coord_x = tuple(data_df['data'].index.values[int(time_steps[-1]-l-1):])

coord = [tuple(zip(coord_x, coord_y))] # stack into (x,y) coord

其中一个应该做:

[(tuple(zip(coord_x, coord_y), ))]

[(*zip(coord_x, coord_y), )]

tuple() 创建一个包含所有数据的元组而不是 list(),并用方括号 [] 创建一个包含一个元素的新列表 - 早期创建的元组:

coord = [tuple(zip(coord_x, coord_y))] # stack into (x,y) coord