鲲鹏老师又来了,本来打算一到两周一篇,后来一些小伙伴问我第二篇在哪里,于是紧赶慢赶,先写上,上一讲我们已经讲解了基础数据类型中的数字和序列,课程中所列出的内容都是一些基础的常见的知识点,希望基础薄弱的同学多多练习,只有多多练习才能熟练的掌握知识,如果有兴趣探讨,加入QQ群: 293549845,
列表 list
列表是序列的一种,是由[]
包围的,以“,”
隔开的元素的集合,可以随时添加或删除其中的元素。
列表的生成
-
由
list
函数生成,示例如下:
>>> list('abc')
['a', 'b', 'c']>>> type(list('abc'))
<type 'list'>
-
[],示例如下:
>>> print [1,2,3,4]
[1, 2, 3, 4]
>>> type([1,2,3,4])
<type 'list'>
-
range,示例如下:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> type(range(10))
<type 'list'>
-
xrange --产生
list
对象,需要用list()
函数生成列表 在python3.x 中取消,range() 和 python2.x中的xrange 效果一样
>>> xrange(10)
xrange(10)
>>> type(xrange(10))
<type 'xrange'>
>>> list(xrange(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
列表的基本操作 元素赋值
这一部分我们直接看示例
>>> a = [1,2,3] #将列表[1,2,3] 赋值给变量a>>> a[1] = 5 # 修改列表中索引1的值>>> a
[1, 5, 3]>>> del a[2] #删除元素>>> a
[1, 5]#分片赋值>>> name = list('perl')>>> name
['p', 'e', 'r', 'l']>>> name[2:] = list('ar')>>> name
['p', 'e', 'a', 'r']#分片赋值可以代替原序列中长度不同的值>>> name = list('Perl') >>> name
['P', 'e', 'r', 'l']>>> name[1:] = list('ython')>>> name
['P', 'y', 't', 'h', 'o', 'n']#插入>>> nums = [1,5]>>> nums[1:1] = [2,3,4]>>> nums
[1, 2, 3, 4, 5]>>> nums
[1, 2, 3, 4, 5]#删除>>> nums[1:4] = []>>> nums
[1, 5]
列表的方法
-
append() 在列表的末尾增加新的对象
>>> lst = [2,'23']>>> lst.append(3)>>> lst
[2, '23', 3]
-
count() 统计某个元素在列表中出现的次数
>>> x = [[1,2],1,3,1,2]
>>> x.count(1)2>>> x.count([1,2])1
3.extend() 可以在列表的末尾一次性追加另一个序列的多个值,也就是可以用新列表扩展原有列表 ,与列表的连接作用不同,连接作用返回一个新的列表,extend 是修改了被扩展的列表
>>> a =[1,2,3]
>>> b= [4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>> a= [1,2,3]
>>> b = [4,5,6]
>>> a + b
[1, 2, 3, 4, 5, 6]
>>> a
[1, 2, 3]
-
index() 从列表中找出某个值第一个匹配项的索引位置 找不到会抛错
>>> a = ['we','are','yong']>>> a.index('are')1>>> a.index('aa')
Traceback (most recent call last):
File "<pyshell#58>", line 1, in <module>
a.index('aa')ValueError: 'aa' is not in list
-
insert() 将对象插入到列表中 --修改了 原列表的值 却返回 None 值
>>> nums = [1,2,3,4,5]
>>> a = nums.insert(3,'zhang')
>>> a
>>> nums
[1, 2, 3, 'zhang', 4, 5]
-
pop() 移除列表中组后一个元素,并返回该元素的值
>>> nums = [1,2,3,4,5]
>>> nums.pop()5>>> nums
[1, 2, 3, 4]
-
reverse() 将列表中的原色反向存放,修改了 原列表的值 却返回 None 值
>>> x = [1,2,3]>>> x.reverse()>>> x
[3, 2, 1]
-
remove() 用于移除列表中的第一个匹配项,如果没有匹配报错,改变了列表却没有返回值,同reverse(元素反向)
>>> x = ['to', 'be','or' 'not','to','be']>>> x.remove('be')>>> x
['to', 'ornot', 'to', 'be']>>> x.remove('too')
Traceback (most recent call last):
File "<pyshell#68>", line 1, in <module>
x.remove('too')ValueError: list.remove(x): x not in list
-
sort() 排序,修改原列表的值,返回None。
>>> x = [2,1,4,7,5]
>>> x.sort()
>>> x
[1, 2, 4, 5, 7]
元组 tuple
元组也是序列的一种,和列表相似,元素以,
分割,以()
包围,但不能修改。
元组的生成
-
tuple()
>>> tuple('abc')
('a', 'b', 'c')
-
()
type((1,2,3))
<type 'tuple'>
-
用逗号隔开一些值,就自动创建了元组
>>> a = 1,2,3>>> type(a)
<type 'tuple'>
元组的操作
元组的操作与列表相似,但切记,元组不能被改变.
好了,第二讲的内容就写到这,大家多多练习,多提问题。