学习心得_第二章

数据结构---序列

Python中序列划分

1.列表 特点 可以被修改类似于C语言中数组

2.元组 特点 不可以被修改

3.字符串 特点 不可以被修改

4、Unicode字符串,buffer对象,xrange对象等等


通用序列操作:分为8种,

1,索引 即通过下标对序列进行访问

示例  ① greeting = 'Hello'  输出

  · print greeting[0]            ------  'H'

②  print 'Hello'[-1] --------'o'


2.分片;Python重要且具有特点的操作 

作用返回序列内一定范围内的元素,可以作为其操作的基础

用法①[A:B]提供两个索引,第一个索引A在返回的序列中第二个索引B不在返回的序列中

②[A:B:C]A,B如上,C步长:用来确定接下来序列中元素的位置

示例

①numbers[1,2,3,4,5,6]

1.print numbers[1:4]

2.print numbers[3:0:-1]

会得到相同的结果 [2,3,4]

②numbers[1,2,3,4,5,6]

print numbers[ : :-1]

[1,2,3,4,5,6]


3.乘

作用新生成一个序列原来的序列会被重复x次

----------输出

示例:①print [42]*5 [42,42,42,42,42]


4.加  乘与加主要用于连接操作

用来进行序列的连接操作

注意:只能用于同类型的连接

---------输出

示例:①print [1,2,3]+[4,5,6] [1,2,3,4,5,6]

    ②print 'Hello'+' World''Hello world'

    ③错误 print ‘Hello’ +[1,2,3]错误报告



5.检查成员资格

in 用来检查是否为序列成员,返回BOOL值,True或者False

示例:①print 'sss' in 'sss Get rich now! sss' True


6.计算序列长度

7.8找出最小最大元素

示例:①numbers = [100,34,678]

print len(numbers) 3

print max(numbers)678

print min(2,3)2



序列中的列表

1.list(str) #可以通过将str字符串转换为列表

------输出

示例: print list('hello')  ['h','e','l','l','o']


2.‘’.join(somelist)t将列表转换为字符串

示例:print ''.join(['H','i']) Hi


列表中的基本操作

1.元素赋值

示例 x = [1,1,1]  x[1] =2  print x [1,2,1]


2.删除元素 通过del操作实现

示例 del x[1] [1,1]


3.分片赋值,可以实现赋值与删除操作

示例:①实现赋值操作

x = list()

x[:] = 'Hero'

print x ['H','e','r','o']

  ②实现删除操作

x  = ['Hero']

x[0:1] = []#删除列表中第一个元素‘Hero’

print x []

 ③在使用分片赋值时,可以使用与原列表不等长的列表将原列表分片替换

name = list('Perl')

name[1:] = list('ython')

print name ['P','y','t','h','o','n']


列表的方法 -----相当于列表类的函数

1.append 修改原序列,在原列表尾部添加,只能增加一个元素

lst = [1,2,3]

lst.append([4,5])

print lst [1,2,3,[4,5]]

2.extend 在列表的末尾一次性追加另一个序列的多个值,对原有列表进行扩展

----------------------------------------------------------------------------输出

示例:①a = [1,2,3]

b = [4,5,6]

a.extend(b)

print a [1,2,3,4,5,6]

  ②a = [1,2,3]

a.extend([4,5])

print a [1,2,3,4,5]


list.extend()与‘+’操作符的区别

list.extend()方法会修改原列表

‘+’操作符会返回一个全新的列表


list.extend()与分片操作的替换

a,b为列表

a.extend(b) 与 a[len(a):] = b 得到的结果一样


3.count方法 统计摸个元素在列表出现的次数

示例: x =[1,2,1,1,[1,2]]

print x.count(1)3


4.index方法 : 用来从列表中找出某个值第一个匹配项的索引位置

示例:knights = ['we','are','the','knights','who','say','ni']

   print knights.index('who')4


5.insert方法: 用来将对象插入到列表中

list.insert(number,object) #将插入的 对象放到object[number]的位置

示例 numbers = [1,2,3,4,5,6,7]

numbers.insert(3,'four')

print numbers[1,2,3,'four',5,6,7]


6.pop方法:移除列表中的一个元素,并返回该元素的值(默认最后一个)

x.pop()   ||  x.pop(num)

示例 x=[1,2,3]

x.pop()

print x [1,2]

x.pop(0)

print x [2]


7.remove方法 用于移除列表中某个值的第一个匹配项,若不存在于列表中的项不会被移除

示例 x = ['to','be','or','not','to','be']

x.remove('be')

print x ['to','or','not','to','be']


8.reverse方法 将列表中的元素反向存放(改变列表,但不返回值)

示例 x = [1,2,3]

print(x.reverse())[3,2,1]


reversed()函数#不返回列表,返回一个迭代器

示例 x = [1,2,3]

print list(reversed(x))[3,2,1]


9.sort()方法 用于在原位置对列表进行排序,返回None,直接修改原列表

list.object([cmp,key(可选参数), reverse = False]) #可选参数key与reverse

示例 numbers = [5,2,7,9]

print numbers.sort(cmp)[2,5,7,9]

x= ['acde','add']

x.sort(key = len)

print x ['add','acde']


x = [4,6,2,1,7,9]

x.sort(reverse=True)

print x [1,2,4,6,7,9]

sorted()函数#用于任何可以迭代的对象,可用于任何序列

示例 x = [4,6,2,1,7,9]

print sorted(x)[1,2,4,6,7,9]




序列中的元组

元组:也是序列中的一种。唯一的不同是元组不能修改(字符串也是一样)


创建元组:用逗号分隔一些词,或者用()圆括号括起来,必须加上逗号,即使只有一个值

示例 x = 1,2,3

print x(1,2,3)


x = (1,2,3)

print x(1,2,3)


x =(42,)

print x(42,)


tuples()函数以一个序列作为参数并把它转换为元组

print tuples([1,2,3])(1,2,3)


print tuples('a','b','c')('a','b','c')

你可能感兴趣的:(Python语言)