python数组

ARTS第九周

旧巷老猫 提交于 2019-12-02 09:38:47
1.Algorithm:每周至少做一个 leetcode 的算法题 2.Review:阅读并点评至少一篇英文技术文章 3.Tip:学习至少一个技术技巧 4.Share:分享一篇有观点和思考的技术文章 以下是各项的情况: Algorithm 链接: [LeetCode-19]-remove-nth-node-from-end-of-list 题意: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 分析: 用快慢指针,快指针先移 n 个节点。 一起移动,两指针之间一直保持 n 个节点,当快指针到链表底了,操作慢指针,删除要删除的元素 时间复杂度:O(n)O(n) class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { if (head == null || n < 1) return head; // 给个负数 万一出错好排查,因为list一般给的正的 ListNode r = new ListNode(-1); r.next = head; ListNode slow = r; // 慢指针 // 快指针 ListNode fast = r; for (int i = 0; i < n; i++) { fast =

numpy模块

北城以北 提交于 2019-12-02 06:16:17
目录 numpy简介 为什么要用numpy 创建numpy数组 numpy数组的常用属性 nump数组的数据类型 ndarray的创建方法 array() arange() linespace/logspace zeros/ones/eye/empty reshape numpy索引和切片 numpy数组元素替换 numpy数组的合并 numpy数组的运算 numpy数组运算函数 数学统计方法 随机数 numpy简介 numpy是Python的一种开源的数值计算扩展库。这种库可用来存储和处理大型numpy数组,比Python自身的嵌套列表结构要高效的多(该结构也可以用来表示numpy数组)。 numpy库有两个作用: 区别于list列表,提供了数组操作、数组运算、以及统计分布和简单的数学模型 计算速度快,甚至要由于python内置的简单运算,使得其成为pandas、sklearn等模块的依赖包。高级的框架如TensorFlow、PyTorch等,其数组操作也和numpy非常相似。 为什么要用numpy 现在我们来想一个场景: 购物车中存放商品的数量,依次为2,4,6,1每一个商品对应一个价格,依次是10,4,100, 29, 求一下,总价是多少? 正常思路就是: print(2*10 + 4*4 + 6*100 + 1*29) 665 而此时可以使用两个列表分别表示商品个数和价格

python numpy数组操作2

自作多情 提交于 2019-12-02 03:53:30
数组的四则运算 在numpy模块中,实现四则运算的计算既可以使用运算符号,也可以使用函数,具体如下例所示: #加法运算 import numpy as np math = np.array([98,83,86,92,67,82]) english = np.array([68,74,66,82,75,89]) chinese = np.array([92,83,76,85,87,77]) tot_symbol = math+english+chinese tot_fun = np.add(np.add(math,english),chinese) #add 加法 print('符号加法:\n',tot_symbol) print('函数加法:\n',tot_fun) #除法 height = np.array([165,177,158,169,173]) weight = np.array([62,73,59,72,80]) BMI_symbol = weight/(height/100)**2 BMI_fun = np.divide(weight,np.divide(height,100)**2) #divide 除法 print('符号除法:\n',BMI_symbol) print('函数除法:\n',BMI_fun) out: 符号加法: [258 240 228 259

numpy入门

妖精的绣舞 提交于 2019-12-02 02:05:09
numpy入门 一、numpy的定义 numpy实际上就是数组的运算,多维的数组对象,ndarray。 1,实际数据 2,元数据 描述信息 二、numpy的基本规范信息 1 # ndarray 2 # 规范,推荐,复用 3 import numpy as np 4 5 ar = np.array([1,2,3,4,5]) 6 print(ar) 7 print([1,2,3,4,5]) #打印列表 8 print(ar.ndim) #打印维度 9 print(ar.shape) #打印数组形状 10 print(ar.size) #打印数组个数的多少 11 print(ar.dtype) #打印数组的数据类型 12 print(ar.itemsize) #打印数组的内存大小 View Code 三、如何创建数组 3.1 创建数组:array()括号中可以包含函数,列表,元祖,数组,生成器,序列等类型 1 arr1 = np.array(range(10)) 2 arr2 = np.array([1,2,3,4,5.5]) 3 arr3 = np.array([[1,2,3,4],[5,6,7,8]]) 4 print(arr3) 5 print(arr3.ndim) 6 print(arr3.shape) View Code 3.2 使用arange()创建,类似于Python

numpy入门

谁说胖子不能爱 提交于 2019-12-02 00:46:55
numpy 数组的运算 多维的数组对象, 简称ndarray 实际数据 元数据 描述信息 1 # ndarray 2 # 规范,推荐,复用 3 import numpy as np 4 5 ar = np.array([1,2,3,4,5]) 6 print(ar) 7 print([1,2,3,4,5]) 8 print(ar.ndim) 9 print(ar.shape) 10 print(ar.size) 11 print(ar.dtype) 12 print(ar.itemsize) [1 2 3 4 5] [1, 2, 3, 4, 5] 1 (5,) 5 int32 4 # 创建数组: array()函数,列表,元组,数组,生成器,序列 arr1 = np.array(range(10)) arr2 = np.array([1,2,3,4,5.5]) arr3 = np.array([[1,2,3,4],[5,6,7,8]]) print(arr3) print(arr3.ndim) print(arr3.shape) [[1 2 3 4] [5 6 7 8]] 2 (2, 4) # arange() ,类似于python range() np.arange(10) np.arange(10.) np.arange(1,10,0.1) np.arange(10000)

LeetCode53. 最大子序和(Python)

我的未来我决定 提交于 2019-12-01 23:50:36
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O( n ) 的解法,尝试使用更为精妙的分治法求解。 代码思路: 利用动态规划的方法,从索引1开始,当他加上前面的元素后,比较该和与当前元素的大小,哪个大留下哪个。最后取数组中最大的值即为最大子集和 代码实现: class Solution(object): def arrayMax(self, nums): for i in range(len(1,nums)): temp = max(nums[i-1]+nums[i],nums[i]) nums[i] = temp return max(nums) 别人家的代码: class Solution(object): def arrayMax(self, nums): for i in range(1,len(nums)): if nums[i-1] > 0: nums[i] += nums[i-1] return max(nums) 来源: CSDN 作者: Manson_Wang 链接: https://blog.csdn.net/Manson_Wang

333

痴心易碎 提交于 2019-12-01 21:40:55
ArcPy 类列表(按字母顺序) 01 Raster 创建一个可在 Python 脚本或地图代数表达式中使用的栅格对象。 02 Cursor Cursor 是一种数据访问对象,可用于在表中迭代一组行或者向表中插入新行。 03 Row 行对象表示表中的某一行。行对象会从 InsertCursor、SearchCursor 和 UpdateCursor 中返回。 04 Array 数组对象中可包含点和数组,它用于构造几何对象。 05 Point 点对象经常与光标配合使用。点要素将返回单个点对象而不是点对象数组。 06 Polyline 折线对象是由一个或多个路径定义的形状,其中路径是指一系列相连线段。 07 Polygon 面对象是指由一系列相连的 x,y 坐标对定义的闭合形状。 08 Extent 范围是在地图单位下提供左下角和右上角坐标指定的一个矩形。 序号 类名称 功能说明 语法 & 举例 01 Raster ==== <<<< Description >>>> ==== 创建一个可在 Python 脚本或地图代数表达式中使用的栅格对象。 ---------------------------------------------------------------------------------- ==== <<<< Syntax >>>> ==== Raster

求最大数组之和

拈花ヽ惹草 提交于 2019-12-01 15:13:23
def max_child(arr): max = 0 x = 0 y = 0 n = len(arr) for i in range(0,n): for j in range(i,n): arr_sum = 0 for k in range(i,j+1): arr_sum = arr_sum + arr[k] # print(i,j,arr_sum) if arr_sum > max : max = arr_sum x = i y = j print("最大子数组的起始-结束下标", x, y) return max## 测试用例arr1 = [1,2,3,4,5]arr2 = [4,1,3,5,2]arr3 = [7,6,2,6,4]print("最大子数组的和:", max_child(arr1))print("最大子数组的和:", max_child(arr2))print("最大子数组的和:", max_child(arr3))运行结果如下:C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\python.exe D:/pycharm/程序源/最大子数组之和123.py最大子数组的起始-结束下标 0 4最大子数组的和: 15最大子数组的起始-结束下标 0 4最大子数组的和: 15最大子数组的起始

Numpy的基础使用

我只是一个虾纸丫 提交于 2019-12-01 13:24:25
数据分析: 是把隐藏在一些看似杂乱无章的数据背后的信息提取出来,总结出所研究对象的内在规律 数据分析的三剑客: Numpy, Pandas, Matplotlib NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 一, 创建ndarry 使用np.array()创建 import numpy as np # 约定使用np np.array([1, 2, 3, 4, 5]) # 一维数组 array([1, 2, 3, 4, 5]) np.array([[1, 2], [1, 2]]) # 二维数组 array([[1, 2], [1, 2]]) np.array([[1, 'two'], [1, 2.3]]) array([['1', 'two'], ['1', '2.3']], dtype='<U11') 注意: numpy默认ndarray的所有元素的类型是相同的 如果传进来的列表中包含不同的类型,则自动统一为同一类型,优先级:str>float>int 使用案例: 使用matplotlib.pyplot获取一个numpy数组,数据来源于一张图片 import matplotlib.pyplot as plt # 约定使用plt img_arr = plt.imread

php中的数组函数学习记录1

半世苍凉 提交于 2019-12-01 13:04:15
1、返回字符串键名全为小写或大写的数组。array_change_key_case 用法:array_change_key_case($input (array),CASE_UPPER|CASE_LOWER),其中CASE_LOWER是返回小写(默认),CASE_UPPER返回大写 例子: $input_array = array ( "FirSt" => 1 , "SecOnd" => 4 ); var_dump ( array_change_key_case ( $input_array , CASE_UPPER )); var_dump ( array_change_key_case ( $input_array )); 结果:array(2) { ["FIRST"]=> int(1) ["SECOND"]=> int(4) } array(2) { ["first"]=> int(1) ["second"]=> int(4) } 2、将一个数组分为多个数组。array_chunk 用法:array_chunk($input(array),$size(int),TRUE|FALSE),其中$size是每一个新的数组的个数,TRUE会保留原来的键名,FALSE会重新从数字索引开始(默认)。 $input_array = array ( 'a' => 'python' , "b"