对数据进行 增、减、改、查都是建立在数据结构上的, python的数据结构有四种,分别是:列表、字典、元组、集合,这四种代表四种储存数据的方式。
Python常用的两种:列表和元组。
其主要区别为列表中的项目应该包括在方括号中,这样python就知道你是在指明一个列表。一旦你创建了一个列表,你就可以添加,删除,或者是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的。列表是可以嵌套的。
元组和列表十分相似,不过元组是不可变的。即你不能修改元组。元组通过圆括号中用逗号分隔的项目定义。元组通常用在使语句或用户定义的函数能够安全的采用一组值的时候,即被使用的元组的值不会改变。元组可以嵌套。
3.1 索引
字符串就是由字符组成的序列,Python中没有表示字符的类型,所以一个字符就是只包含一个元素的字符串。
上述方式为从左往右索引,如果是负索引,那么将会从最后一个元素开始往左数,因此-1是最后元素的位置。
对于字符串字面量,可直接对其执行索引操作,无需赋值给变量。效果和先赋值给变量再索引效果是一样的。
3.2 切片
除了索引访问单个元素外,还可以使用切片来访问特定范围内的元素,用两个索引中间用冒号分开。
注意:第一个索引指定的元素包含在切片内,第二个索引指定的元素不在切片内
这就出现了无法包含最后一个元素,如果按0索引
当切片进行操作时,如果第一个索引指定的元素位于第二个索引指定的元素后面,结果就是空序列(此处为倒数第3个元素位于第1个元素的后面)
在切片中如果没有步长,默认长度为1,如果指定步长则将跳过中间的某一些元素。
同样步长不可以为0,否分无法移动,但可以为负数,即从右往左提取元素。
需注意的是:步长为负数时,第一个索引必须比第二个大
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
>>>list('hello')
> ['h','e','l','l','o']
4.1 对列表基本操作
4.1.1 修改列表:给元素赋值
>>>x = [ 1 , 2 , 3 ]
> x [ 1 ] = 2
> x = [ 2 , 2 , 3 ]
注意:不能给不存在的元素赋值,例如长度为3,不能给100的元素赋值
4.1.2 删除元素
从列表中删除元素,可以用del语句
>>> numeber = [ 0 , 1 , 2 , 3 ]
> del number[ 2 ]
> number [ 0 , 1 , 3 ]
4.1.3 给切片赋值
>>> name = list('Perl')
>>> name
[ 'P' , 'e' , 'r' , 'l' ]
>>> name[2:] = list('ar')
>>> name
[ 'P', 'e' , 'a' , 'r' ]
切片赋值还可以在不替换原有的元素的情况下插入新元素
>>> number = [ 1 , 5]
>>> number[1:1] =[2 , 3 , 4]
>>> number
> [1, 2, 3, 4, 5]
这里[1:1]相当于替换了一个空切片,相当于插入一个序列。同样也可以删除切片。
>>> number
[1, 2, 3, 4, 5]
>>> number = [1:4] = []
>>> number
> [1, 5]
4.1.4 列表方法
将一个对象加到列表的末尾。
>>> lst = [1, 2, 3]
>>> lst.append(4)
>>> lst
> [1, 2, 3, 4]
clear就地清空列表内容
>>> lst = [1, 2, 3]
>>> lst.clear()
>>>lst
> []
copy复制列表,常规的复制只是将另一个名称关联到列表。
>>> a = [1, 2, 3]
>>> b = a
>>> b[1] = 4
>>> a
> [1, 4, 3]
or
>>> a = [1, 2, 3]
>>> b = a.copy()
>>> b[1] = 4
>>> a
> [1, 4, 3]
将多个值添加到列表末尾
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a+b
> [1, 2, 3, 4, 5, 6]
>>> a
>[1, 2, 3]
将一个对象插入列表。
>> number = [1, 2, 3, 4, 5, 6, 7]
>>> number.insert(3, 'four')
>>> number
>[1, 2, 3, 'four', 5, 6, 7]
用于对列表就地排序,意味着对原来的列表进行修改,使其按顺序排列,而不是返回排序后的列表副本。
>>> x = [3, 2, 1, 4]
>>> x.sort
>>> x
> [1, 2, 3, 4]
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
>>> tup1 = (1, 2, 3, 4, 5 );
>>> tup2 = "a", "b", "c", "d"; # 不需要括号也可以
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用
tuple:它将一个序列作为参数,并将其转化成元组。如果参数已经是元组,就原封不动地返回它。
>>> tuple ([1, 2, 3])
> (1, 2, 3)
>>> tuple ('abc')
> ('a' ,'b', 'c')
>>> tuple((123))
> (1, 2, 3)
对元组来说没有太多的操作,只提供最基本的创建和访问。