我有一个表格列表:
list = [[3, 1], [3, 2], [3, 3]]
Run Code Online (Sandbox Code Playgroud)
我想将它分成两个列表,一个列表中每个子列表的x值,另一个列表中每个子列表的y值.
我目前有这个:
x = y = []
for sublist in list:
x.append(sublist[0])
y.append(sublist[1])
Run Code Online (Sandbox Code Playgroud)
但是这会返回这个,我不知道为什么:
x = [3, 1, 3, 2, 3, 3]
y = [3, 1, 3, 2, 3, 3]
Run Code Online (Sandbox Code Playgroud)
Suk*_*lra 10
通过执行x = y = []您创建x并将y它们引用到同一列表,因此输出错误.(对象ID在下面相同)
>>> x = y = []
>>> id(x)
43842656
>>> id(y)
43842656
Run Code Online (Sandbox Code Playgroud)
如果你解决了这个问题,你会得到正确的结果.
>>> x = []
>>> y = []
>>> for sublist in lst:
x.append(sublist[0])
y.append(sublist[1])
>>> x
[3, 3, 3]
>>> y
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
虽然这可以通过这样做变得更容易.
x,y = zip(*lst)
PS - 请不要使用list变量名称,它会影响内置.
| 归档时间: |
|
| 查看次数: |
3250 次 |
| 最近记录: |