其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用xxx in range(): ...跪.:( ) 而是我觉得字符串操作的切片真实让我感到前所未有的爽. 试想一下,我们平时操作最多的数组和字符串在切片的帮助下,不知道可以省去多少时间和麻烦.而且有了切片甚至不用去记很多可以被切片代替的api. 今天我在啃<学习javascript数据结构与算法>…
    在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器.理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任意切取目标值.切片操作的基本语法比较简单,但如果不彻底搞清楚内在逻辑,也极容易产生错误,而且这种错误有时隐蔽得比较深,难以察觉.本文通过详细例子总结归纳了切片操作的各种情况.若有错误和不足之处请大牛指正! 一.Python可切片对象的索引方式 Python可切片对象的索引方式包括:正索引和负索引两部…
一. Python可切片对象的索引方式 包括:正索引和负索引两部分,如下图所示,以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:   python索引方式.jpg 二. Python切片操作的一般方式 一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index.end_index.step),当只有一个“:”时,默认第三个参数step=1. 切片操作基本表达式:object[start_index:end_index:step] step:正负数均可…
在Python中操作文件之truncate()方法的使用教程 这篇文章主要介绍了在Python中操作文件之truncate()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下 truncate()方法截断该文件的大小.如果可选的尺寸参数存在,该文件被截断(最多)的大小. 大小默认为当前位置.当前文件位置不改变.注意,如果一个指定的大小超过了文件的当前大小,其结果是依赖于平台. 注意:此方法不会在当文件工作在只读模式打开. 语法 以下是truncate()方法的语法: fi…
序列类型是其元素被顺序放置的一种数据结构类型,这种方式允许通过下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素.这种访问序列的方式叫做切片.字符串也可以使用切片操作.切片操作符:[]  [:]  [::],调用内置函数slice()函数. 以字符串'abcdefg'为例: s a b c d e f g index 0 1 2 3 4 5 6 index -7 -6 -5 -4 -3 -2 -1 一.sequence[index] 类似于其他语言的数组操作.sequenc…
这三个操作数组,哪个返回一个新数组呢.上代码 splice()方法,用于插入,删除和替换. var arr=[1,2,3,4,5]; var arr1=arr.splice(1,3); console.log(arr1);//[2,3,4] console.log(arr);//[1,5] 从结果可以看出来splice()改变了原来的数组. slice()方法,提取字符串某个部分,并返回. var arr=[1,2,3,4,5]; var arr2=arr.slice(1,3); console…
JS操作Array对象的方法 concat(arr1,arr2,...):连接数组indexOf(value):返回数组中value的第一个索引join(separator):将数组中所有的元素连接由separator分割的字符串,默认为逗号lastIndexOf(value):返回数组中value的最后一个索引pop():删除数组最后一个元素,并将其返回push():将参数添加至数组的末尾,并返回数组的新长度reverse():反转数组中所有元素的顺序shift():删除数组的第一个元素,并将…
数组的一些方法 - push() - 用来向数组的末尾添加一个或多个元素,并返回数组新的长度 - 语法:数组.push(元素1,元素2,元素N) - pop() - 用来删除数组的最后一个元素,并返回被删除的元素 - unshift() - 向数组的前边添加一个或多个元素,并返回数组的新的长度 - shift() - 删除数组的前边的一个元素,并返回被删除的元素 - slice() - 可以从一个数组中截取指定的元素 - 该方法不会影响原数组,而是将截取到的内容封装为一个新的数组并返回 - 参数…
一 字典基本介绍 python中只有字典是映射结构,通过key取值,并且key是不可变数据类型,而value可以是任意数据类型. 字典通过一个花括号,里面存放key:value的数据结构来定义.理论上讲,字典是无限大的. 二 字典常用操作 1 按key取值 dic = {'name':'szz','age':18,'sex':'male') name = dic['name'] print(name) # 输出结果为 'szz' 2 计算字典的长度 # len方法计算字典的长度 dic = {'…
增 push   在数组的末尾添加一个或多个元素,并返回新的长度.  array.push(1,2,3.........) unshift  在数组的开头添加一个或多个元素,并返回新的长度. array.unshift(1,2,3......) splice 在制定位置添加一个活多个元素,splice(start,0,str)  start必选, 删 pop   删除并返回数组最后一个元素 shift  删除并返回数组第一个元素 splice  删除数组中的元素,然后返回被删除的项目  spli…
增 push   在数组的末尾添加一个或多个元素,并返回新的长度.  array.push(1,2,3.........) unshift  在数组的开头添加一个或多个元素,并返回新的长度. array.unshift(1,2,3......) splice 在制定位置添加一个活多个元素,splice(start,0,str)  start必选, 删 pop   删除并返回数组最后一个元素 shift  删除并返回数组第一个元素 splice  删除数组中的元素,然后返回被删除的项目  spli…
网上找的通篇看了一遍讲的很透收藏了!  转自(https://www.cnblogs.com/blogs-8888/p/6518683.html) 1.锁定数组的长度(让数组的长度变成只读). 1 2 3 4 5 6 var a = [1,2,3]  //定义一个数组<br> Object.defineProperty(a,"length",{    writable:false })  //将a数组的长度属性设为只读<br> a.length = 0  //将…
一 集合基本介绍 集合:在{}内用逗号隔开每个值,集合的特点: 每个值必须是不可变类型 集合是无序的 集合的值不能重复 集合的应用场景较少,最重要的应用场景为进行关系运算以及去重. 二 集合的操作 1 求两个集合的交集 set1 = {1,2,3,4,'a','b','c','d'} set2 = {4,5,6,7,'c','d','e','f'}print(set1 & set2) # 输出结果为 (4,'c','d') 2 求两个集合的并集 set1 = {1,2,3,4,'a','b','…
数组乱序的意思是,把数组内的所有元素排列顺序打乱. 常用的办法是给数组原生的sort方法传入一个函数,此函数随机返回1或-1,达到随机排列数组元素的目的. 复制代码代码如下: arr.sort(function(a,b){ return Math.random()>.5 ? -1 : 1;}); 这种方法虽直观,但效率并不高,经我测试,打乱10000个元素的数组,所用时间大概在35ms上下(firefox) 本人一直具有打破沙锅问到底的优良品质,于是搜索到了一个高效的方法.原文见此 复制代码代码…
1.从数组中获取最大的数 function getMaxfromarr(arr) { var lasti = 0; for (var i = 0; i < arr.length; i++) { if (i == 0) { lasti = arr[i]; } else { if (lasti > arr[i]) { continue; } else { lasti = arr[i]; } } } return lasti; } 2.数组中的数据重新排序 function bubbleSort(a…
字符串: 字符串的方法:注意:都不会改变原来的字符串,返回值为新的字符串.如果(1,2),一般是包含小标1,不包含下标2 str.charAt(i): 取str的第i+1个字符,类似数组的arr[i]. str.substring(start,end):抽取字符串.和slice基本一样,不识别负数 str.substr(from,length):抽取字符串.从下标为from的位置,取length个值出来.抽取字符串重点记住这个substr str.split('拆分字符'):拆分字符串,返回切割…
参考:http://www.cnblogs.com/txw1958/archive/2012/07/22/python3-mysql.html http://www.jb51.net/article/92516.htm…
本节主要演示数组的切片操作,数组的切片操作有两种形式:更改原数组的切片操作和不更改原数组的切片操作. 一.更改原数组的切片操作 import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) myarr = arr[1:3] myarr[:] = 0 print(arr) #这里并没有操作arr数组,但是数据却变了 [1 0 0 4 5 6] 二.不更改原数组的切片操作(使用copy方法) import numpy as np arr = np.arr…
1.创建数据帧 index是行索引,即每一行的名字:columns是列索引,即每一列的名字.建立数据帧时行索引和列索引都需要以列表的形式传入. import pandas as pd df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], index=['row_0', 'row_1'], columns=['col_0', 'col_1', 'col_2']) 2.获取数据帧的行索引和列索引 2.1 获取行索引 # 以数组形式返回 row_name = df.ind…
2.4 切片 在 Python 里,像列表(list).元组(tuple)和字符串(str)这类序列类型都支持切片操作,但是实际上切片操作比人们所想象的要强大很多. 在我个人的使用经历来看,在算法实践中切片用的还以比较多的. 首先我们先来简单的温习一下切片的使用. 一. Python可切片对象的索引方式 包括:正索引和负索引两部分,如下图所示,以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例: 二. Python切片操作的一般方式 一个完整的切片表达式包含两个":&qu…
array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片介绍: 从最基础的list索引开始讲起,我们先上一段代码和结果: a = [0,1,2,3,4,5,6,7,8,9] a[:5:-1] #step < 0,所以start = 9 a[0:5:-1] #指定了start = 0 a[1::-1] #step < 0,所以stop = 0 输出: […
实例+解释如下(表格):关键是要明白python中数组的下标体系.一套从左往右,一套从右往左. 1 import numpy as np 2 import sys 3 4 def main(): 5 A=np.array([1,2,3,4,5,6,7,8,9,0]) 6 B=A.copy() 7 print A 8 print 'same as print A,',A[:] 9 print 'same as print A,',A[::1] 10 print 'reverse A,',A[::-…
python中的切片操作功能十分强大,通常我们利用切片来进行提取信息,进行相关的操作,下面就是一些切片的列子. 列如我们从range函数1-100中取7的倍数,函数及结果如下所示: >>> for i in range(1,100)[6::7]: print i 7 14 21 28 35 42 49 56 63 70 77 84 91 98 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: >>> L = ['Michael', 'Sar…
python中list切片的使用非常简洁.但是list不支持二维数组.仔细研究了一下发现,因为list不是像nampy数组那么规范.list非常灵活.所以没办法进行切片操作. 后来想了两个办法来解决: 1 傻傻的使用 for循环 newjuhedata = []for item in juhedata:newjuhedata.append(item[1]) 这种方式简单易行,好理解,对后面程序的维护也很方便 2 使用lambda表达式 newjuhedata =list(map(lambda x…
1. 对列表和数组进行切片 1.1 切片索引 众所周知,Python中的列表和numpy数组都支持用begin: end语法来表示[begin, end)区间的的切片索引: import numpy as np my_list= [1, 2, 3, 4, 5] print(my_list[2: 4]) # [3, 4] my_arr = np.array([1, 2, 3, 4, 5]) print(my_arr[2: 4]) # [3 4] 以上操作实际上等同于用slice切片索引对象对其进行…
切片操作 对于具有序列结构的数据来说,切片操作的方法是:consequence[start_index: end_index: step]. start_index: 表示是第一个元素对象,正索引位置默认为0:负索引位置默认为 -len(consequence) end_index: 表示是最后一个元素对象,正索引位置默认为 len(consequence)-:负索引位置默认为 -. step: 表示取值的步长,默认为1,步长值不能为0. [注意]对于序列结构数据来说,索引和步长都具有正负两个值…
数组被描述为一个存储元素的线性集合,元素可以通过索引来任意存取. 几乎所有的编程语言都有类似的数据结构,但是Javascript中的数组却略有不同. Javascript中的数组是一种特殊的对象,所以在数组的操作效率上不如其他语言中的数组高. 也因为数组再JavaScript中被当做对象,所以它有很多属性和方法可以再编程时使用. 下面就简单介绍一下JavaScript中的数组的使用方法. 注:以下所有的JavaScript代码均在 jsshell 中运行,一些方法可能在其他环境中(如浏览器和su…
在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> List1 = ['zhangxueyou','liuyifei','liudehua','huyidao','haodada','wumengda','zhouxingchi','chenglong','Jack','linzhilin'] >>> List1 ['zhangxueyou',…
#利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 def trim(s): while s[0:1]==' ': s=s[1:] while s[(len(s)-1):len(s)]==' ': s=s[:-1] return s s=input('请输入一个字符串:') print('去除首尾空格后',trim(s)) 知识点: 取一个list或tuple的部分元素,比如取list的前3个元素,对这种经常取指定索引范围的操作,用循环十分繁琐…
今天倒是学到了很多知识,了解了python的基本数组,以及可变类型和不可变类型,还有元组,列表,字典等等的用法 然后作业如下 其中在做往list列表加东西时候遇到了小毛病,用户从控制台输入的是一个字符串,并不是一个列表,将字符串int一下,在加入新的列表里,才可以进行接下来的操作. a=input('请输入你的邮箱地址:')b=a.split('@')# print(b[1])print('pop3.%s'%b[1])print('smtp.%s'%b[1]) num=int(input('请输…