我是python 2.7的新用户。
我的问题是,我需要进行计算。 我有一个矩阵。
A=[1, 2, 8, 10]
我想自动进行计算。
A[1]-A[0]=1
A[2]-A[1]=6
,依此类推。
但是我不知道这样做。 到目前为止,我有:
for n in xy_list:
B=n[0][1:]-n[0][:3]
print B
结果显示:
TypeError:--'list'和'int'的不受支持的操作数类型
希望您能提供帮助!
答案 0 :(得分:0)
据我所知,您根本不了解遍历数组/列表。
如果循环遍历列表,则具有列表xy_list和迭代器n。在这种情况下,n
不是数组。它只是一个递增的索引。您必须访问索引为n
的列表。因此,最好不要编写n[0]
,而是写xy_list[n]
,说“ xy_list中元素的索引为n”。
如果要从xy_list [1]中减去xy_list [0],则必须编写B = xy_list[1] - xy_list[0]
如果要对列表中的所有元素执行此操作,则必须编写一个循环,以获取当前索引中的元素并减去索引n-1
答案 1 :(得分:0)
您可以尝试这种方式:
for n in range(1, len(A)):
print(A[n] - A[n-1])
在这里,我假设您总是想要A[n] - A[n-1]
,其中n是A中的整数索引。
如果要以花哨的方式打印它:
for x in range(1, len(A)):
print("A[{}] - A[{}]: {}".format(x, x-1, A[x] - A[x-1]))
A[1] - A[0]: 1
A[2] - A[1]: 6
A[3] - A[2]: 2