Python之数组

前言

由于Python的数据结构较为灵活,长期使用java编程的我,有时候可能就搞混淆了。此时,记录一些骚操作。

不定长二维数组

array = [4,65,46,57,5];

array2d = [[]]*len(pages); #创建二维数组 [[], [], [], [],...,[]]
# print(array2d [0][0])
print(array2d )
for i in range(len(array2d )):
    array2d [i]=[];
    pass;

array2d[0].append(46);
array2d[2].append(35);
array2d[1].extend([46,68,23,24]);

print(array2d )

排序

  • <数组,字典>的排序 [ {...},...,{...} ]
array = [
                {'key':587,'value':'jack'},
                {'key':364,'value':'jame'},
                {'key':476,'value':'jane'},
                {'key':355,'value':'johnny'}
            ]

array = sorted(array , key=lambda x:x['value']) 
array .sort(array p,q: cmp(p['value'], q['value'])) 
  • 排序后基于索引输出
    • 好处:不改变原数组数据
import numpy as np;
y =np.array([24242, 43, 6, 46, 46, 4, 6, 4, 546]);

sortResult = np.argsort(y);

删除列表中元素等于某值(eleVal)的所有元素

def delete(array,eleVal): # 删除指定元素
    idx = -1;
    idx=array.index(eleVal)
    while idx >= 0  :
        del array[idx];
        idx = -1;
        try:
            idx=array.index(eleVal);
        except Exception as e:
            print("[delete] end to remove eleVal '",eleVal,"'!");
        pass;
delete(array,'j');

多维数组转换为一维数组

articleWords = [['文章', '数学'], ['权力']];
artcileWords = [i for item in articleWords for i in item]; # 二维词汇矩阵合并为一维数组 # 参考 :https://blog.csdn.net/kevin_7july/article/details/79289814

 ## output
 ['文章', '数学', '权力']
posted @ 2019-05-18 18:02  千千寰宇  阅读(1212)  评论(0编辑  收藏  举报