python数组

python中剔除两个数组相同项

匿名 (未验证) 提交于 2019-12-02 22:51:30
剔除B数组中,在A数组中有的相关项: def Kick(rm,list): LIST=[] for i in list: if rm[-1]!=i: LIST.append(i) rm.pop() if len(rm)==0: return LIST if len(rm)!=0: return(kick(rm,LIST))如果B是一个二维数组的话,代码如下: def kick(rm,list): LIST=[] List=[] for i in list: for j in i: if rm[-1]!=j: List.append(j) LIST.append(List) List=[] rm.pop() if len(rm)==0: return LIST if len(rm)!=0: return(kick(rm,LIST)) 来源:博客园 作者: 你若盛开,清风自来! 链接:https://www.cnblogs.com/daiaiai/p/11711136.html

python――append用法

匿名 (未验证) 提交于 2019-12-02 22:51:30
例如: a =[ 1 , 2 , 3 ] a . append ( 5 ) 此时,运行结果为 [1, 2, 3, 5] a =[ 1 , 2 , 3 ] a . append ([ 5 ]) 此时,运行结果为 [1, 2, 3, [5]] 结果不再为一个数组,而是list 用append生成多维数组: import numpy as np a =[] for i in range ( 5 ): a . append ([]) for j in range ( 5 ): a [ i ]. append ( i )   结果如下: [[ 0 , 0 , 0 , 0 , 0 ], [ 1 , 1 , 1 , 1 , 1 ], [ 2 , 2 , 2 , 2 , 2 ], [ 3 , 3 , 3 , 3 , 3 ], [ 4 , 4 , 4 , 4 , 4 ]]   append()在python的列表中是一个很好用的函数 来源:博客园 作者: 链接:https://www.cnblogs.com/yezishen/p/11655952.html

Python循环/数组使用

匿名 (未验证) 提交于 2019-12-02 22:51:30
# !/usr/bin/python # coding=gb2312 L =[[ 1 , 2 , 3 ],[ 4 , 5 , 6 ],[ 7 , 8 , 9 ]]; print L ; print L [ 1 ]; print L [ 1 ][ 0 ]; print L [ 1 ][ 0 :- 1 ]; col2 =[ row [ 1 ] for row in L ]; print col2 ; print [ row [ 1 ]+ 1 for row in L ]; G =( sum ( row ) for row in L ); print next ( G ); print next ( G ); print next ( G ); print list ( map ( sum , L )); D ={ ' book ' : ' SKET ' , ' price ' : 100 , ' color ' : ' red ' }; print D ; print D [ ' book ' ]; print D [ ' price ' ]; print D [ ' color ' ]; F = {}; F [ ' name ' ]= ' jack ' ; F [ ' job ' ]= ' zhuanjia ' ; F [ ' age ' ]= 15 ; print F ;

Python数组/切片

匿名 (未验证) 提交于 2019-12-02 22:51:30
# !/usr/bin/python # coding=gb2312 import re ; mker = re . match ( ' hello(.*)world ' , ' hello python world ' ); print mker . group ( 1 ); print mker . groups (); L =[ 123 , ' fuck ' , 1.23 ]; print len ( L ); print L [ 0 ]; print L [:- 1 ]; print L +[ 4 , 5 , 6 ]; print L ; L . append ( ' woyao ' ); print L ; L . pop ( 2 ); print L ; L . insert ( 3 , ' wocao ' ); print L ; L . remove ( ' fuck ' ); print L ; kwc =[ ' aa ' , ' cc ' , ' bb ' ]; kwc . sort (); print kwc ; kwc . reverse (); print kwc ; 转载于:https://my.oschina.net/xiaocon/blog/199346 来源:51CTO 作者: chiqu8683 链接:https://blog.csdn.net

python利用numpy存取文件

匿名 (未验证) 提交于 2019-12-02 22:51:08
numpy格式的文件可以保存为后缀为(.npy/.npz)格式的文件 1. tofile()和fromfile() tofile()将数组中的数据以二进制格式写进文件 tofile()输出的数据不保存数组形状和元素类型等信息 fromfile()函数读回数据时需要用户指定元素类型,并对数组的形状进行适当的修改 import numpy as np # 随机生成12个数字并将其有一维转换成3*4的矩阵形式 a = np.arange(12) print("一维数组:",a) a.shape = 3,4 print("3*4的矩阵:",a) # 将数组中的数据以二进制格式写入到文件 a.tofile('a.bin') # fromfile在读取numpy文件时需要自己指定数据格式,并且原格式并为保存 b1 = np.fromfile('a.bin', dtype=np.float) # 按照float读取数据 b2 = np.fromfile('a.bin', dtype=np.int) # 按照int读取数据 b3 = np.fromfile('a.bin', dtype=np.int32) # 按照int32读取数据 print('float格式b1:{},\nint格式b2:{},\nint32格式b3:{}'.format(b1,b2,b3)) b3.shape = 3,4

Python之滑动窗口

匿名 (未验证) 提交于 2019-12-02 22:11:45
对于一个数组array = ["n","v","l","f",...,"y","c","k"]; input 当前位置 index 数组的长度 arraySize 基于当前位置,(前/后)滑动窗口的元素数目 windowSize 即 滑动窗口(假定:包含当前元素 array[idx]) 总长:2*windowSize+1 output 滑动窗口中的元素下标数组 形如 【中间】idx=3,arraySize=7,windowSzie=2 => [1,2,3,4,5] 【偏前】idx=0,arraySize=7,windowSzie=2 => [5,6,0,1,2] 【偏后】idx=6,arraySize=7,windowSzie=2 => [4,5,6,1,0] [1] 循环队列 [2] 充分利用模运算的特点:最左边下标 (idx-windowSize)%arraySize 与 最后边下标(idx+windowSize)%arraySize可计算出来 利用思路2,节省更多计算资源。 def window(idx,arraySize,windowSize): """ 获得当前位置的滑动窗口[元素的下标数组] ----------------------------------- + 获得长为arraySize的列表中,以idex为中心

将条件逻辑作为数组操作(where)

冷暖自知 提交于 2019-12-02 20:15:01
这一章就讲解 numpy.where 函数。 他是三元表达式 的向量化版本。 三元表达式: x if condition else y import numpy as np xarr = np.array([1.1, 1.2, 1.3, 1.4, 1.5]) yarr = np.array([2.1, 2.2, 2.3, 2.4, 2.5]) cond = np.array([True, False, True, True, False]) 在 cond 中的元素为 True 时,我们取 xarr 中对应的元素值,反之取 yarr 中的元素,可以通过列表推导式来完成,如下 result = [(x if c else y) for x,y,c in zip(xarr, yarr, cond)] print result 结果 [1.1, 2.2, 1.3, 1.4, 2.5] 这样会产生多个问题,首先如果数组很大的话,速度会很慢,因为所有的工作都是通过解释器解释 Python 代码完成的,其次,但数组是多维时,就无法奏效了。而使用 np.where 时,就可以非常简单的完成。 result = np.where(cond, xarr, yarr) print(result) 结果 [1.1, 2.2, 1.3, 1.4, 2.5] where 的第二个和第三个参数并不需要是数组

在数组中查找元素的第一个和最后一个位置

孤街醉人 提交于 2019-12-02 18:09:31
题目: 给定一个的整数数组 nums, 和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 题目解析: 1.给定一个数组,确定的是一个数组, 数组是整数,那么我们可以知道,那么target的也是整数。 2.要求target的在数组中开始位置和结束位置,我们可以先找出来target的在list里面的下标位置,把这些下标位置放到list里面,我们去取list里面的第一个元素和最后一个元素,就是对应的开始位置和结束位置。 那么我们就可以上手去实现我们的代码了。 从这期开始,我们的代码将用python 和java两个版本去实现,同时从两方面去提高我们的,同时 也面向了两门语言的学习者。 首先,我们先看python篇: def find(nums:list,target:int): listone=[] for i in range(len(nums)): if nums[i]==target: listone.append(i) if len(listone)==0: return False return listone[0],listone[-1]    测试: class Testcase(unittest.TestCase): def setUp(self) -> None: pass def tearDown(self) -> None: pass def

刷题之给定一个整数数组 nums 和一个目标值 taget,请你在该数组中找出和为目标值的那 两个 整数

拥有回忆 提交于 2019-12-02 14:36:35
今天下午,看了一会github,想刷个题呢,就翻出来了刷点题提高自己的实际中的解决问题的能力,在面试的过程中,我们发现,其实很多时候,面试官 给我们的题,其实也是有一定的随机性的,所以我们要多刷更多的题。去发现问题。 题目: 给定一个整数数组 nums 和一个目标值 taget,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 解析: 实际这里就是给你的一个列表的数字,给你一个预期,让你返回 这个列表里面两个数字相加等于这个预期的数字的下标。 代码思路: 1.直接用到两个for循环,去遍历这个list, 2.一个for循环从第一个元素,一个for循环从减去这个元素的list里面去遍历 3.然后去判断这个两个的元素相加的和是否等于预期的taget,如果等于,直接返回元素的下标。 4. 这里可能返回多个,我们默认选择第一组。 实现代码: class Solution(): def twoSun(self,nums,target): for i in range(len(nums)): for j in range(len(nums)): if nums[i]+nums[j] ==target and i !=j: return [i,j] 那么我们先来个简单的测试,去测试一下: if _

Pandas

ぃ、小莉子 提交于 2019-12-02 11:46:18
Pandas 简介 Series DataFrame 时间对象处理 数据分组和聚合 其他常用方法 一 、简介 pandas是一个强大的Python数据分析的工具包,它是基于Numpy构建的,正因pandas的出现,让Python语言也成为使用最广泛而且强大的数据分析环境之一。 Pandas的主要功能: 具备对其功能的数据结构DataFrame,Series 集成时间序列功能 提供丰富的数学运算和操作 灵活处理缺失数据 安装方法: pip install pandas 引用方法: import pandas as pd 二 、Series Series是一种类似于一维数组的对象,由一组数据和一组与之相关的数据标签(索引)组成 2.1 创建方法 第一种: pd.Series([4,5,6,7,8]) 执行结果: 0 4 1 5 2 6 3 7 4 8 dtype: int64 # 将数组索引以及数组的值打印出来,索引在左,值在右,由于没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引,取值的时候可以通过索引取值,跟之前学过的数组和列表一样 ----------------------------------------------- 第二种: pd.Series([4,5,6,7,8],index=['a','b','c','d','e']) 执行结果: a