Python 使用列表列表时出现TypeError
我正在尝试将XY坐标从一个列表附加到另一个列表,以便可以围绕15个不同对象的散点图绘制面片。但是我得到了一个错误,Python 使用列表列表时出现TypeError,python,list,append,Python,List,Append,我正在尝试将XY坐标从一个列表附加到另一个列表,以便可以围绕15个不同对象的散点图绘制面片。但是我得到了一个错误,TypeError:当试图运行代码时,列表索引必须是整数或片,而不是元组 我正在处理的数据集是水平格式的。读取的数据将产生x坐标列表和y坐标列表 数据集示例: data = [[],[]] data[0] = [random.sample(range(80), 10) for _ in range(6)] #x-coordinates data[1] = [random.sample
TypeError:当试图运行代码时,列表索引必须是整数或片,而不是元组
我正在处理的数据集是水平格式的。读取的数据将产生x坐标列表和y坐标列表
数据集示例:
data = [[],[]]
data[0] = [random.sample(range(80), 10) for _ in range(6)] #x-coordinates
data[1] = [random.sample(range(80), 10) for _ in range(6)] #y-coordinates
x_data = data[0]
y_data = data[1]
我绘制了一个散点图,然后想在散点图周围添加不同半径的圆。我绘制了散点图,效果很好:
scatter = ax.scatter(x_data[0], y_data[0], zorder = 5, s = 20)
我得到的错误是使用以下代码:
#creating list of patches
players = []
for n in range(10):
##as there are always 3 circles, append all three patches as a list at once
players.append([
mpl.patches.Circle((x_data[0,n],y_data[0,n]), radius = 2, color = 'black', lw = 1, alpha = 0.8, zorder = 4),
mpl.patches.Circle((x_data[0,n],y_data[0,n]), radius = 4, color = 'gray', lw = 1, alpha = 0.8, zorder = 3),
mpl.patches.Circle((x_data[0,n],y_data[0,n]), radius = 6, color = 'lightgrey', lw = 1, alpha = 0.8, zorder = 2)
])
##adding patches to axes
for player in players:
for circle in player:
ax.add_patch(circle)
我得到的错误是
mpl.patches.Circle((x_data[0,n],y_data[0,n]), radius = 2, color = 'black', lw = 1, alpha = 0.8, zorder = 4),
TypeError: list indices must be integers or slices, not tuple
这个错误不言而喻。这是因为x_data
是一个列表。它不支持多个索引。如果要执行此操作,请将x_数据
转换为numpy数组。否则您也可以执行x_数据[0][n]
另外,您有一个从0到14的循环,但是x\u数据
和y\u数据
的形状为(6,10)
。您可能想检查一下。错误本身就说明了问题。这是因为x_data
是一个列表。它不支持多个索引。如果要执行此操作,请将x_数据
转换为numpy数组。否则您也可以执行x_数据[0][n]
另外,您有一个从0到14的循环,但是x\u数据
和y\u数据
的形状为(6,10)
。你可能想检查一下