列表定义
- 列表是由一系列按特定顺序排列的元素所组成的一种数据结构(这是书上的定义)。学完列表以后他给我的感觉是在访问上像数组(如:下标从0开始的访问),数据组织上像是链表(可以在任何位置插入数据,长度不固定)。
- 列表简单创建格式:变量名 = [元素1,元素2,….,,元素n]
如:
test = [1,2,’hello’,4,’world’]
注:列表中的元素可以多种多样
列表的访问
列表的访问格式为:列表名[下标]
如:
test = [1,2,’hello’,4,’world’]
print( test[0] )
其结果为1,如同其他语言一样,python中列表的下标是从0开始这里有一点比较有意思的是python可以使用负数下标来表示访问倒数第几个元素
如:print( test[-1] )
其结果会打印world
列表元素的添加,删除和修改
添加元素:
1)在末尾添加使用append()方法
如: test.append( 5 )
这条代码运行后会在列表test的末尾添加一个数字 52)在指定位置插入元素使用 insert()方法,
如: test.insert( 0,’hi’ )
这条代码表示在test列表下标为0的位置插入一个字符串’hi’,其他在新数据后面的元素依次向后移动一位。
注意:insert()方法的插入始终是向目标下标前插入元素(也只有这样才能配合append()达到在任何地方插入数据的目的,否则如果是向后插入那么0号下标位置就永远无法插入新数据了)删除元素:
1)以指定下标的方式删除元素使用del()方法:
如:del test[1]
这条代码执行后就会将test列表中下标为1的元素删除2)取出指定下标的元素后,删除该下标的元素,使用pop()方法
有的时候我们的需求不单单是删除某个元素,而是在删除前要使用一下该元素然后在删除,这时候就是pop()出场的时候了
例子:
temp1 = test.pop()
temp2 = test.pop( 0 )
默认无参数的pop()方法会弹出test列表中的最后一个元素,而pop( 0 )会弹出列表中下标为0的元素。3)根据值来删除元素使用remove()方法
如:test.remove(‘hello’)
这行代码会将列表中的第一个’hello’字符串删除,请注意 如果列表中有多个‘hello’字符串则只会删除第一个,如果列表中没有该字符串则会报错修改元素
python中修改列表中的元素的方式很像其他语言中修改数组元素的方式,格式为: 列表名[ 下标 ] = 新元素
如:test[1] = ‘ABC’
这行代码就会将test列表中下标为 1 的元素的值修改为字符串 ‘ABC’
其他列表常用函数介绍
列表的永久排序使用sort()函数
例子:
test = [‘a’ , ‘r’ , ‘s’ , ‘d’, ‘b’, ‘p’, ‘c’]
print( test )
test.sort()
print( test )
以上代码就会将test列表永久从小到大排序如果需要从大到小排序,则只要向sort()方法传递参数reverse = Ture就好了。
如:
test = [‘a’ , ‘r’ , ‘s’ , ‘d’, ‘b’, ‘p’, ‘c’]
print( test )
test.sort( reverse = True )
print( test )
以上代码就会将test列表永久从大到小排序,很方便吧。列表的临时排序使用sorted()函数
有的时候我们只是想将列表排个序临时用一下,并不想改变其原本顺序,这时候sorted()函数就能派上用场了。
用法和sort()函数非常像,举个栗子:
test = [‘a’ , ‘r’ , ‘s’ , ‘d’, ‘b’, ‘p’, ‘c’]
print( sorted( test ) )
print( sorted( test, reverse = True) )
print( test )
这段代码中sorted( test ) 会将这列表中元素从小到达排序,sorted( test, reverse = True ) 会将元素从大到小排序翻转列表中的元素使用 reverse()方法
例子:
test = [ ‘3’, ‘6’, ‘4’ ]
test.reverse()
print(test)
结果输出是 4, 6 ,3。 注意reverse()只是翻转原先列表元素的排序,并不是排序。确定列表长度使用len()方法
例子:
test = [ 1, 2, 3, 4, 5, 6 ]
print( len( test ) )
结果输出为6