目录
一、列表的定义
可以使用a=[ ]直接定义,也可以使用list()构造列表。
列表与C语言中的数组类似,但不同的是,列表的元素数据类型可以不同,同一个列表可以同时包含int、float、str、bool等类型。
当列表的元素类型为列表时,此时就构成了一个矩阵。(参考C语言二维数组)
二、列表的合并
1、列表是序列,可以使用+来合并两个列表。
2、extend()函数。
格式:列表1.extend(列表2) #将列表2加到列表1里面
三、列表增加元素
1、append()函数。
格式:列表名.append(*) #向列表添加*
2、insert()函数
格式:列表名.insert(index,*) #向列表下标为index的位置添加*,原有的元素右移一位
四、列表删除元素
注意,删除元素时,可以先用in判断元素是否在列表中。
if 元素 in 列表:
删除元素操作
else:
提示无法进行删除操作
1、del语句。
格式:del 列表名[需要删除的元素索引值] #del是一个语句而不是函数
注意:del直接跟列表名则会直接删除该列表。
2、pop()函数
格式:列表名.pop(需要删除的元素索引值)
注意,如果不给pop()传递索引值参数,则默认删除最后一个。
3、remove()函数
格式:列表名.remove(需要删除的元素值)
注意:remove()函数如果遇到列表中存在多个相同元素,只会删除从左到右的第一个元素。所以要删除多个元素,可以用循环,例:
li = [1, 1, 1, 2, 3, 1, 5]
i = 0
while i < len(li):
if li[i] == 1:
li.remove(1)
i -= 1
else:
i += 1
print(li)
4、clear()函数。直接清空列表里的所有元素值,但列表还在,变成了一个空列表。
五、代码练习
1、模拟文件上传,获取上传文件的类型。
get_feil = input('请输入文件:')
get_feil = get_feil.strip() #处理空格
i = get_feil.rfind('.') #找到.
houzhui = get_feil[i:] #.后面就是后缀名
print(houzhui)
2、编写代码实现超市购物系统。
shopping_car = [] #购物车数组
trigger = True #用户控制购买循环
while trigger:
thing = input('请输入物品、价格、数量(中间用空格隔开);').split(' ')
shopping_car.append(thing)
answer = input('是否要继续购物?退出请按“q”或“Q”,继续购物请按任意键:')
if answer.lower() == 'q':
trigger = False
print('购物结束,您购买了{},欢迎下次光临。'.format(shopping_car))