一、列表——一个打了激素的数组
1.介绍列表
C语言里面的数组:是把同一种类型的数据放在一个集合里面
但是python没有类型的概念,所以python 引入了 列表,各种数据都可以放进去,如:整数、浮点数、字符串、对象。
2.创建列表
3种方式:普通列表、混合列表、空列表
exp:
>>>
>>> number = ['飞翼','甲鱼','瓶子']
>>> number
['飞翼', '甲鱼', '瓶子']
>>> mix = [1213,1.888,'什么',[1,2,3]]
>>>
>>> mix
[1213, 1.888, '什么', [1, 2, 3]]
>>>
>>> empty = []
>>>
>>> empty
[]
>>>
3.向列表添加元素 append() & extend() & insert()
append() 是自动向末尾追加一个元素
例子:
>>> number = ['飞翼','甲鱼','瓶子']
>>> number
['飞翼', '甲鱼', '瓶子']
>>> number.append('葫芦娃')
>>> number
['飞翼', '甲鱼', '瓶子', '葫芦娃']
>>>
extend() 是用一个列表扩展另外一个列表,所以参数应该是一个列表
>>>
>>> number.extend(['阿庆嫂','marry'])
>>>
>>> number
['飞翼', '甲鱼', '瓶子', '葫芦娃', '阿庆嫂', 'marry']
>>>
insert()是向列表的某个位置添加元素:
>>> number.insert(0,'牡丹')
>>> number
['牡丹', '飞翼', '甲鱼', '瓶子', '葫芦娃', '阿庆嫂', 'marry']
4.获取列表中的值
>>> number
['牡丹', '飞翼', '甲鱼', '瓶子', '葫芦娃', '阿庆嫂', 'marry']
>>> number[0]
'牡丹'
>>> number[4]
'葫芦娃'
>>>
5.删除列表中的值 remove() ,del , pop()
remove(),是列表的函数,不需要知道元素的位置,只需要知道元素的名字
>>> number
['牡丹', '飞翼', '甲鱼', '瓶子', '葫芦娃', '阿庆嫂', 'marry']
>>> number.remove('葫芦娃')
>>> number
['牡丹', '飞翼', '甲鱼', '瓶子', '阿庆嫂', 'marry']
>>>
del 语句
>>> number
['牡丹', '飞翼', '甲鱼', '瓶子', '阿庆嫂', 'marry']
>>> del number[2]
>>> number
['牡丹', '飞翼', '瓶子', '阿庆嫂', 'marry']
>>>
pop() 是弹栈的方式,不加参数就弹出最上面一个值。加了参数就弹指定位置的值
>>> number
['牡丹', '飞翼', '瓶子', '阿庆嫂', 'marry']
>>> number.pop()
'marry'
>>> number
['牡丹', '飞翼', '瓶子', '阿庆嫂']
>>> number.pop(0)
'牡丹'
>>> number
['飞翼', '瓶子', '阿庆嫂']
>>>
6.列表分片 slice
意思是在原来列表的基础上获得一个子列表
>>> number
['飞翼', '瓶子', '阿庆嫂']
>>> number[0:1]
['飞翼']
>>> number[:7]
['飞翼', '瓶子', '阿庆嫂']
>>> number[:2]
['飞翼', '瓶子']
>>> number[1:]
['瓶子', '阿庆嫂']
>>> number[:]
['飞翼', '瓶子', '阿庆嫂']
>>> ```
#####7.列表的运算
list1=[123,456]
list2=[124,125]
list1 > list2
False
list3 =[123,456]
list1
True
list4 = list1 + list2
list4
[123, 456, 124, 125]
list5 = list4*3
list5
[123, 456, 124, 125, 123, 456, 124, 125, 123, 456, 124, 125]
777 in list5
number.insert(0,'牡丹')
>>> number
['牡丹', '飞翼', '甲鱼', '瓶子', '葫芦娃', '阿庆嫂', 'marry']
#####4.获取列表中的值
>>> number
['牡丹', '飞翼', '甲鱼', '瓶子', '葫芦娃', '阿庆嫂', 'marry']
>>> number[0]
'牡丹'
>>> number[4]
'葫芦娃'
>>>
#####5.删除列表中的值 remove() ,del , pop() remove(),是列表的函数,不需要知道元素的位置,只需要知道元素的名字
>>> number
['牡丹', '飞翼', '甲鱼', '瓶子', '葫芦娃', '阿庆嫂', 'marry']
>>> number.remove('葫芦娃')
>>> number
['牡丹', '飞翼', '甲鱼', '瓶子', '阿庆嫂', 'marry']
>>>
del 语句
>>> number
['牡丹', '飞翼', '甲鱼', '瓶子', '阿庆嫂', 'marry']
>>> del number[2]
>>> number
['牡丹', '飞翼', '瓶子', '阿庆嫂', 'marry']
>>>
pop() 是弹栈的方式,不加参数就弹出最上面一个值。加了参数就弹指定位置的值
>>> number
['牡丹', '飞翼', '瓶子', '阿庆嫂', 'marry']
>>> number.pop()
'marry'
>>> number
['牡丹', '飞翼', '瓶子', '阿庆嫂']
>>> number.pop(0)
'牡丹'
>>> number
['飞翼', '瓶子', '阿庆嫂']
>>>
#####6.列表分片 slice 意思是在原来列表的基础上获得一个子列表
>>> number
['飞翼', '瓶子', '阿庆嫂']
>>> number[0:1]
['飞翼']
>>> number[:7]
['飞翼', '瓶子', '阿庆嫂']
>>> number[:2]
['飞翼', '瓶子']
>>> number[1:]
['瓶子', '阿庆嫂']
>>> number[:]
['飞翼', '瓶子', '阿庆嫂']
>>> #####7.列表的运算
>>> list1=[123,456]
>>> list2=[124,125]
>>> list1 > list2
False
>>> list3 =[123,456]
>>> list1
True
>>> list4 = list1 + list2
>>> list4
[123, 456, 124, 125]
>>>
>>> list5 = list4*3
>>> list5
[123, 456, 124, 125, 123, 456, 124, 125, 123, 456, 124, 125]
>>>
>>> 777 in list5
False
123 in list5
True
123 not in list5
False
list6 = ['飞翼',['瓶子','王子','高尚']]
list6[1][1]
'王子'
#####8.列表原地翻转 reverse()
list6 = ['飞翼',['瓶子','王子','高尚']]
list6.reverse()
list6
[['瓶子', '王子', '高尚'], '飞翼']
#####9.列表排序 sort()
如果不加参数默认就是从小到大排序
list5
[123, 456, 124, 125, 123, 456, 124, 125, 123, 456, 124, 125]
list5.sort()
list5
[123, 123, 123, 124, 124, 124, 125, 125, 125, 456, 456, 456]
list5.sort(reverse=True)
list5
[456, 456, 456, 125, 125, 125, 124, 124, 124, 123, 123, 123]