列表、元组、字符串这些通过顺序访问的对象统称为序列。

序列的标准操作符

对于一般的序列对象,包括列表、元组、字符串,都具有以下的标准操作:

1. element [not] in seq判断一个元素是否属于一个序列,返回一个布尔值;

2. seq[ind] 获得下标为ind的元素

3. seq[ind1:ind2:step] 获得一个切片,从ind1到ind2,步长为step的元素组成的新的序列,步长为负值来表示从尾端开始;

4.seq1 + seq2 连接两个序列;

5.seq * expr 序列重复expr次;

序列的索引从0开始,也可以用-n来表示最后第n个元素。

特殊的,对于None值,如果进行切片操作,返回原序列。Python中的None值有些奇怪,他并不表示空,而且具有自己的类型NoneType,且该类无法被实例化(应该是执行了类似于添加NoneType的单件类,并且修改了new方法的操作)。

同时序列也提供内建函数,如各种转换函数(工厂函数),以及一些可操作函数:enumerate(iter),len(seq),reversed(seq)等等

序列的内建函数

1 cmp():比较第一个参数是否大于第二个,字符串去ascall码

2 len():返回序列中元素的个数

3 max()、min():返回最大值、最小值

4 enumerate():返回一个enumerate对象,存储每个元素的位置和值的数据对,用于循环:

for i,t in enumerate(s):

    print i,t

5 sorted():

sorted()函数可以对传入的列表进行排序,只要类具有__cmp__()方法,都可以使用sorted()方法;并且可以传入一个参数,用来替代默认的__cmp__()方法,从而定制自己的排序规则:

def cmp_ignore(x,y):
    if x.upper() > y.upper():
        return 1
    elif x.upper() < y.upper():
        return -1
    else :
        return 0
print sorted(["aasdDEAD","BD","Abcd"])
print sorted(["aasdDEAD","BD","Abcd"],cmp_ignore)

若对字符串进行sorted()方法,则返回按ascall码排序后的结果

6 reversed():返回翻转后的列表

 

字符串

除了具有序列的一半特性之外,字符串还具有一些特殊的性质。

1格式化操作符% : format_string % arguments_to_convert,一般的格式和c语言中printf()类似,但是具有新的特性:字典类型参数,如 'This is %(name)s' % {'name':'Lyon’} 。

2 字符串模板:对字典类型参数的格式化进行封装,而且不需要再指定输出的类型,而采用形如shell、perl中的$符号来表示需要填充的参数,就是字符串模板:Template,Template具有两个方法:substitute()和safe_substitute(),前者当缺少参数时会报错,而后者则会将字符串原封不动地显示出来:

3 原始字符串操作符:

r/R:所有的字符串都将不进行转义、插值等操作,而是原始字符串 : r’\n'

4 unicode字符串操作符:u’abc’ 表示将abc分别用unicode编码表示 , u’\u1234'表示unicode编码为1234,python3之后为默认

5 三引号:’’’ :三引号中可以包含回车换行等特殊字符

6 字符串特有内建函数:

string.capitalize()表示首字母大写,其他小写;string.lower(),改为小写;sting.upper(),改为大写;string.title(),所有的单词都是以大写开头,其余小写;string.split(str=“”),以str为分隔符切分等等;

7 字符串和其他顺序访问类型不同,字符串不是容器,而是值,不可改变

列表

1 创建列表 :

a = [0,1, 2, 3, 4]

a = range(5)

a = [0 for x in range(5)]   ## [0,0,0,0,0]

2 内建函数:

sum():返回列表值的和,相当于reduce(operator.add,list)

reduce():对传入的列表按照传入的函数两两计算,如reduce(operator.add,[1,2,3,4]),则先算1+2,再将结果+3,再将结果+4,依次类推,如果加上第三个可选参数可以指定初始值

list.append(obj):向列表中添加一个对象obj

list.count(obj):统计obj出现次数

list.extend(seq):将seq内容添加到list中

list.index(obj,i=0;j=len(list)):返回obj在list中的位置

list.insert(index,obj),在index处插入obj

list.pop(index=-1):删除并返回指定位置的对象,默认为最后一个

list.remove(obj),删除对象

区别sort()、sorted()、reverse()、reversed()、extend()、extended():是否改变调用者/数值调用还是引用调用

reversed()方法返回一个迭代器而非反向序列本身

元组

元组是不可变的列表,和列表比较类似


Python学习_03_列表、元组、字符串的更多相关文章

  1. python学习之列表元组,字典

    list:元素性质可以不一致,元素还可以是list,可类似数组方法进行索引(也可以用负数索引,-1表示最后一个),可用.append('')进行动态增加,可用pop()删除最后一个或者pop(i)删除 ...

  2. python 学习分享-列表元组篇

    1 列表(list) 下面的代码就是把一个变量赋值为列表 a=['laay','aay','ay','y'] 列表中存在索引,可以通过索引来访问列表中的值,也可以通过索引完成切片 print(a[0] ...

  3. 《python基础教程(第二版)》学习笔记 列表/元组(第2章)

    <python基础教程(第二版)>学习笔记 列表/元组(第2章)序列中的下标从0开始x='ABC' ==> x[0]='A', x[1]='B', x[2]='C'负数索引从右边开始 ...

  4. Python学习3——列表和元组

    一.通用序列操作——索引.切片.相加.相乘.成员资格检查 1.索引,正序从0开始为第一个元素,逆序从-1开始,-1为最后一个元素 >>> greeting[0] 'h' >&g ...

  5. 【python学习笔记】3.字符串使用

    [python学习笔记]3.字符串使用 字符串是一种序列,素有标准的序列操作对字符串用样适用,字符串是不可以改变 格式化操作符,%,左侧是格式化字符串,右侧是被格式的值,可以是一个值.元组.字典 数值 ...

  6. python基础(五)列表,元组,集合

    列表 在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据. 列 ...

  7. Python学习02 列表 List

    Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...

  8. python学习笔记(一)元组,序列,字典

    python学习笔记(一)元组,序列,字典

  9. Python学习笔记----列表、元组和字典的基础操作

    文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...

随机推荐

  1. XSS攻击原理及防御措施

    概述 XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器 执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列 表,然后向联系 ...

  2. linux用户、组、权限问题

    用户.组.权限一.权限:r, w, x1.文件权限:      r:可读,可以使用类似cat等命令查看文件内容:      w:可写,可以编辑或删除此文件:      x: 可执行,eXacutabl ...

  3. onload和ready的区别

    onload和ready的区别 1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行 $(document).read()是DOM结构绘制完毕后就执行,不必等到加 ...

  4. 【NOIP2016提高组】蚯蚓

    https://www.luogu.org/problem/show?pid=2827 首先考虑暴力:每次都是拿最长的蚯蚓,容易想到用堆.每次除拿出来的以外所有的蚯蚓都增长,容易想到用一个懒惰标记来记 ...

  5. PHP curl_setopt函数用法介绍

    [导读] curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用户可操作的行为哦.bool curl_setopt (int ch, string ...

  6. hdu4416 Good Article Good sentence (后缀数组)

    题意:问a串中有多少种字符串集合B中没有的连续子串. a的长度10^5,B中的总长度为不超过10^5. 解法:后缀数组题目:后缀数组能够非常easy算出来一个串中有多少种子串. 把a和B集合连起来.求 ...

  7. dynamic programming 学习

    这是看到一位大神,写的关于dynamic programming的博客,认为很好.简单分析下.然后给出链接. 背景问题就是 有一个国家,全部的国民都很老实憨厚,某天他们在自己的国家发现了十座金矿.而且 ...

  8. 【Jsp】JSP自己定义标签与MODEL1、MODEL2标准

    在JSP2.0之后支持自己定义标签,如今一般都是jsp2.4的版本号了,所以无须考虑版本号的问题. 直接使用就能够了.尽管一般开发的过程中,非常少会自己定义JSP标签.可是通过一个JSP自己定义标签的 ...

  9. Asp.net mvc 知多少(五)

    本系列主要翻译自<ASP.NET MVC Interview Questions and Answers >- By Shailendra Chauhan,想看英文原版的可访问http:/ ...

  10. HBase shell 命令介绍

    HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...