相关疑难解决方法(0)

列表更改意外地反映在子列表中

我需要在Python中创建一个列表列表,所以我输入以下内容:

myList = [[1] * 4] * 3
Run Code Online (Sandbox Code Playgroud)

列表看起来像这样:

[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]  
Run Code Online (Sandbox Code Playgroud)

然后我改变了最里面的一个值:

myList[0][0] = 5
Run Code Online (Sandbox Code Playgroud)

现在我的列表看起来像这样:

[[5, 1, 1, 1], [5, 1, 1, 1], [5, 1, 1, 1]]  
Run Code Online (Sandbox Code Playgroud)

这不是我想要或期望的.有人可以解释一下发生了什么,以及如何解决这个问题?

python list mutable nested-lists

576
推荐指数
10
解决办法
3万
查看次数

NumPy Matrix与Array类的乘法有何不同?

numpy文档建议使用数组而不是矩阵来处理矩阵.但是,与octave(我直到最近使用)不同,*不执行矩阵乘法,你需要使用函数matrixmultipy().我觉得这使得代码非常难以理解.

有人分享我的观点,并找到了解决方案吗?

python arrays numpy matrix matrix-multiplication

129
推荐指数
7
解决办法
23万
查看次数

在python中的二维数组

我想知道如何在Python中声明二维数组.

arr = [[]]

arr[0].append("aa1")
arr[0].append("aa2")
arr[1].append("bb1")
arr[1].append("bb2")
arr[1].append("bb3")
Run Code Online (Sandbox Code Playgroud)

前两个任务工作正常.但是当我尝试这样做时arr[1].append("bb1"),我收到以下错误:

IndexError: list index out of range.
Run Code Online (Sandbox Code Playgroud)

我在尝试宣布2-D阵列时做了什么傻事?

编辑:
但我不知道数组中的元素数量(行和列).

python multidimensional-array

38
推荐指数
4
解决办法
31万
查看次数

在Python中如何声明动态数组

我想声明一个数组,并且无论ListBox中存在的组名如何,都应删除ListBox中存在的所有项.任何人都可以帮我编写Python代码.我正在使用WINXP OS和Python 2.6.

python listbox

19
推荐指数
3
解决办法
15万
查看次数

Python 2.7创建一个多维列表

在Python中,我想要一种直观的方法来创建一个三维列表.

我想要一个(n乘n)列表.因此,对于n = 4,它应该是:

x = [[[],[],[],[]],[[],[],[],[]],[[],[],[],[]],[[],[],[],[]]]
Run Code Online (Sandbox Code Playgroud)

我尝试过使用:

y = [n*[n*[]]]    
y = [[[]]* n for i in range(n)]
Run Code Online (Sandbox Code Playgroud)

这两者似乎都在创建引用的副本.我也尝试过对列表生成器的天真应用,但收效甚微:

y = [[[]* n for i in range(n)]* n for i in range(n)]
y = [[[]* n for i in range(1)]* n for i in range(n)]
Run Code Online (Sandbox Code Playgroud)

我也尝试使用循环迭代地构建数组,但没有成功.我也试过这个:

y = []
for i in range(0,n):
    y.append([[]*n for i in range(n)])
Run Code Online (Sandbox Code Playgroud)

这样做有更简单或更直观的方法吗?

python list-comprehension list python-2.7

17
推荐指数
2
解决办法
9万
查看次数

如何将矩阵转换为pandas数据帧

我正在尝试将矩阵转换为pandas数据框:

matrixA={}
matrixA[0,0]='a'
matrixA[0,1]='b'
matrixA[1,0]='c'
matrixA[1,1]='d'
Run Code Online (Sandbox Code Playgroud)

像这样:

import pandas as pd

pd.DataFrame(matrixA)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误.

python pandas

6
推荐指数
1
解决办法
5万
查看次数

如何在python中使用for循环追加多维数组

我正在尝试append一个多维数组.

这是我到目前为止所做的:

arr=[[]]
for i in range(10):
    for j in range(5):
        arr[i].append(i*j)
        print i,i*j


print arr
Run Code Online (Sandbox Code Playgroud)

这是我的预期输出:

[[0,0,0,0,0],[0,1,2,3,4],[0,2,4,6,8],[0,3,6,9,12],[0,4,8,12,16],[0,5,10,15,20],[0,6,12,18,24],[0,7,14,21,28],[0,8,16,24,32],[0,9,18,27,36]]

但是,我收到此错误:

IndexError:列表索引超出范围

python arrays

6
推荐指数
2
解决办法
3万
查看次数

在 python 中声明和填充二维数组

我想在 python 中声明并填充一个二维数组,如下所示:

def randomNo():
    rn = randint(0, 4)
    return rn

def populateStatus():
    status = []
    status.append([])
    for x in range (0,4):
        for y in range (0,4):
            status[x].append(randomNo())
Run Code Online (Sandbox Code Playgroud)

但我总是得到 IndexError: list index out of range 异常。有任何想法吗?

python arrays

5
推荐指数
2
解决办法
4万
查看次数

旋转、缩放和平移 2D 坐标?

我目前正在开发一个项目,尝试使用 Python 成像库创建希尔伯特曲线。我创建了一个函数,它将通过每次迭代生成曲线的新坐标,并将它们放入各种列表中,然后我希望能够移动、旋转和缩放。我想知道是否有人可以给我一些提示或方法来做到这一点,因为我完全无能为力。仍在处理大量代码。

#! usr/bin/python
import Image, ImageDraw
import math

# Set the starting shape
img = Image.new('RGB', (1000, 1000))
draw = ImageDraw.Draw(img)

curve_X = [0, 0, 1, 1]
curve_Y = [0, 1, 1, 0]

combinedCurve = zip(curve_X, curve_Y)
draw.line((combinedCurve), fill=(220, 255, 250))
iterations = 5

# Start the loop
for i in range(0, iterations):
    # Make 4 copies of the curve

    copy1_X = list(curve_X)
    copy1_Y = list(curve_Y)

    copy2_X = list(curve_X)
    copy2_Y = list(curve_Y)

    copy3_X = list(curve_X)
    copy3_Y = list(curve_Y) …
Run Code Online (Sandbox Code Playgroud)

python translation rotation scale python-imaging-library

5
推荐指数
1
解决办法
2万
查看次数

Numpy 字典数组

在Python中,我有一个包含相关信息的字典

arrowCell = {'up': False, 'left': False, 'right': False}
Run Code Online (Sandbox Code Playgroud)

如何制作一个包含这些字典的 i 行和 j 列的数组?

python dictionary numpy multidimensional-array

5
推荐指数
1
解决办法
9955
查看次数