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
根据保存在 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