python中有两个数组,我想比较这两个数组中对应位置的元素的大小,我应该怎么写python代码呢?求指教

Python018

python中有两个数组,我想比较这两个数组中对应位置的元素的大小,我应该怎么写python代码呢?求指教,第1张

#!/usr/bin/python3.4

# -*- coding: utf-8 -*-

a = [2, 3, "4", 7, "string", 1]

b = [5, 6, 8, 2, 7, 8]

for i in range(0, len(a)):

    try:

        if int(a[i]) > int(b[i]):

            print("在第" + str(i) + "个位置数组a大于数组b.")

        elif int(a[i]) < int(b[i]):

            print("在第" + str(i) + "个位置上数组a小于数组b.")

        elif int(a[i]) == int(b[i]):

            print("在第" + str(i) + "个位置上数组a等于数组b.")

    except:

       print("在第" + str(i) + "个位置上数组a或者数组b的元素不是数字.")

运行结果:

在第0个位置上数组a小于数组b.

在第1个位置上数组a小于数组b.

在第2个位置上数组a小于数组b.

在第3个位置上数组a大于数组b.

在第4个位置上数组a或者数组b的元素不是数字.

在第5个位置上数组a小于数组b.

举个例子,先做减法再判断和0的大小

a = np.array([[1,12,51,1],[1,2,3,4]])

b = np.array([[12,1,1,15],[5,4,3,2]])

c = a-b

c>0

结果c=array([[False, True, True, False],

[False, False, False, True]])

list类似于 Vector

对象和指针数组是分开分配的,数组是在堆上。指针数组的大小是动态分配的,分配的内存肯定要多于实际的。既然是动态分配的,那么realloc调整大小就会移动数据,复制数据,大量数据还是用链表比较好。

dict类似于 Hash table

字典本身默认有元素容量,不够的才去堆上分配。需要扩容或者收缩,就会动态重新分配内存,重新hash。dict的keys()等调用生成list 如果数量很大,建议用迭代器。