Python学习_03_列表、元组、字符串

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

序列的标准操作符

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

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():是否改变调用者/数值调用还是引用调用

元组

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


时间: 2024-08-01 23:30:03

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

Python 学习之[列表][元组]

一. 昨日内容回顾 1. int + - * / % // ** bit_length() 2. bool 类型转换 结论1: 想把刘伟转换成刘德华. 刘德华(刘伟) 结论2: True => 1 False => 0 结论3: 可以当做False的数据: 0, "", [], (), {}, set(), None. 所有的空都是False 3. str字符串 字符: 单一的文字符号 字符串: 有序的字符序列 ', ", ''', ""&qu

python 学习分享-列表元组篇

1 列表(list) 下面的代码就是把一个变量赋值为列表 a=['laay','aay','ay','y'] 列表中存在索引,可以通过索引来访问列表中的值,也可以通过索引完成切片 print(a[0]) print(a[1]) print(a[-1]) print(a[:3]) print(a[:-1]) 打印结果分别为 laay aay y ['laay', 'aay', 'ay'] ['laay', 'aay', 'ay'] 增加元素.删除元素.改变元素.查找元素 a.append('abc

python学习day4(列表,元组)

一. 列表(增删改查)   列表可以装大量的数据,不限制数据类型. 表示为[ ]. 每一个元素之间用' , '隔开.   列表也有索引和切片 1. list: 增加: 1. append("x") 向列表中增加一个元素x. 默认添加到列表末尾   2. instert(1,"麻花藤") 将元素添加到某一个位置   3. extend("马云","麻花藤","李嘉诚") 迭代添加. 默认添加末尾 lst =

python 学习笔记 二 序列, 列表, 元组, 字符串

序列 序类是一个集合概念, Pthon包括六种内建序列: 列表, 元组, 字符串, Unicode字符串, buffer对象和xrange对象. 其中, 我们最长用的要数前三个. 通用序列操作 1. 索引(indexing) 序列的所有元素都是有编号的(从0开始...), 这些元素可以通过编号访问, 如: >>> greeting = 'Hello' >>> greeting[0] 'H' 使用负数索引(从-1开始...)是从右边开始的: >>> gr

python学习笔记2:字符串

python学习笔记2:字符串 总结:字符串是不可变变量,不能通过下标修改其值 字符串的方法都不会改变字符串原来的值,而是新生成一个字符串 一.3种写法--单引号,双引号,三引号 二.下标和切片 下标:字符串里每个字符所在的位置,也叫索引.strname[n] ,表示strname这个字符串的下标为n对应的字符的值. 切片:取字符串一个下标区间的值. strname[n:m],表示strname这个字符串,下标n到m这个区间内的值,注意n:m取值,顾前不顾后. 三.字符串遍历 in 和not i

python学习第六天 - 列表(数组)

python当中的数组与java,c不太一样,数组相当于一个列表,一个列表中可以有,整型,字符串,浮点型等等. 定义格式如下: >>> list = [123,'小甲鱼',3.14] >>> list [123, '小甲鱼', 3.14] 介绍几种向列表中添加元素的方法 1.append() :向列表中增加新的元素,一次只能添加一个元素,默认添加到列表的末尾 >>> list.append('黑夜') >>> list [123, '

python学习---数据类型---列表

Python学习 1.列表 [] 1.1)列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 1.2)列表时可变数据类型 1.3)列表的组成:用[]标示列表,包含多个用逗号隔开的数字或者字符串 举例:    list[1,2,3]        list1['aaa',123,'"qwsx"] 空列表 list[] 注意:在定义时,元祖只有一个值时,要在其后面加逗号:而列表只有一个值时不用加任何符号 2. 列表的操作 2.1)列表的重新赋值   (以list1[

Python学习_列表解析和Lambda表达式

1.根据要求创建列表threes_and_fives(列表值包括1到15中能够被3或者5正常的数) threes_and_fives=[x for x in range(1,16) if x%3==0 or x%5==0] 2.lambda表达式实例(剔除掉列表中的"X") garbled = "IXXX aXXmX aXXXnXoXXXXXtXhXeXXXXrX sXXXXeXcXXXrXeXt mXXeXsXXXsXaXXXXXXgXeX!XX" message

Python数据结构之列表元组字典的用法

数据结构的含义 在学习数据结构之前,我们先来了解下数据结构的含义.数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在Python语言中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序号----即元素的位置,称为索引或下标,索引从0开始递增. 典型的序列包括列表.元组和字符串.其中,列表是可变的(可修改),而元组和字符串是不可变的(一旦创建了就是固定的).列表.元组和字符串也是较常用的数据结构