序列
序列就是其他一些语言中的数组,概念差不多
序列分为两种,元组tuple和列表list,元组又叫定值表。其各元素的值不能改变;列表各元素的值可以改变。
- 序列的建立
建立元组用小括号,列表用中括号
tuple=('a',15,1.2,"gay")
list=[True,'b',15]
tip:一个序列可以作为另一个序列的元素,非常灵活,例如
[1,2,3,[1,2,3]] #该序列的第四个元素是序列[1,2,3]
- 元素的引用
元素的引用非常灵活,假如我要引用序列“list”中的元素
- 直接引用 list[下标] (下标从0开始)
>>> lst=list("abcdefg")>>> lst[1]'b' - 范围引用 list[下限:上限:步长] (不包括第上标的元素)
>>> lst[0:3]['a', 'b', 'c']
- 倒序引用 list[-3] #引用倒数第三个元素
>>> lst[-1]'g'
- 一些常用的函数和方法
- list(seq) 序列转成列表
>>>name=list("furuanmei")>>>name结果
['f', 'u', 'r', 'u', 'a', 'n', 'm', 'e', 'i'] - del list[int] 删除元素(int表示被删除元素的下标,比如说int是2就是删除第三个元素)
>>> del name[2]>>> name
['f', 'u', 'u', 'a', 'n', 'm', 'e', 'i']
- 分片赋值(可以不等长替换,很方便)
>>> name[2:]=list("yingdi")>>> name
['f', 'u', 'y', 'i', 'n', 'g', 'd', 'i'] - 追加新元素在末尾用append方法,举个栗子
>>> name.append("X")>>> name
['f', 'u', 'y', 'i', 'n', 'g', 'd', 'i', 'X'] -
追加新序列在末尾用extend方法,举个栗子
>>> name.extend(list("furuanmei"))>>> name
['f', 'u', 'y', 'i', 'n', 'g', 'd', 'i', 'X', 'f', 'u', 'r', 'u', 'a', 'n', 'm', 'e', 'i'] - 统计某个元素出现次数用count方法,举个栗子
>>> name.count("f")2 - index方法查找某元素在第几项
name.index("m")输出结果15 #表示m这个元素是name的第16个元素 - insert方法:插入元素到指定位置name.insert(1,"hhhhh")print(name)结果['f', 'hhhhh', 'u', 'y', 'i', 'n', 'g', 'd', 'i', 'X', 'f', 'u', 'r', 'u', 'a', 'n', 'm', 'e', 'i']
可见“hhhhh”被插入了第二个位置,符合我们的预期
- sort方法排序
>>> number=[3,100,101,9999,0.03,2333]>>> number.sort()>>> number结果[0.03, 3, 100, 101, 2333, 9999]怎么样,是不是很方便,如果用C语言写排序的话,要考虑的问题就多了,加上还有浮点数,会非常麻烦,但是在python里只要用sort函数就能轻松排序了~
这里只是介绍了几个函数,可见在python中对序列进行操作是非常方便的,感兴趣的可以去读读文档,看看标准库里还有哪些实用的函数方法
name.insert(1,"hhhhh")
print(name)
结果
['f', 'hhhhh', 'u', 'y', 'i', 'n', 'g', 'd', 'i', 'X', 'f', 'u', 'r', 'u', 'a', 'n', 'm', 'e', 'i']
可见“hhhhh”被插入了第二个位置,符合我们的预期