python基础-列表

列表的使用

① 创建

L1 = [] #定义空列表
L2 = ['a','b','c','a'] #存四个值 索引0-3
L3 = ['abc',['def','ghi']] #嵌套列表
L4 = list() #另一种创建空列表

② 查询
print(L2[1])  #查询列表索引为1的值
print(L2[-1]) #从列表右面取值
print(L2.index('a')) #返回指定元素索引值,左到右匹配第一个
print(L2.count('a')) #统计指定元素个数

③ 切片
print(L2[1:3]) #去列表索引1到3
print(L2[1:]) #去列表索引1到最后
print(L2[:3]) #去列表索引开始到3
print(L2[1:3:2]) #去列表索引1到3,2代表隔一个取一个

④ 增加
L2.append('sandor') #在列表最后追加值
L2.insert(2,'alex') #在索引2前插入值

⑤ 修改
L2[3] = 'miller' #修改索引3值

⑥ 删除
def L2[2] #删除索引2的值
def L2[1:3] #删除索引1到3的值
L2.clear() #删除列表

⑦ 循环
for i in L2:
print(i)
去除索引值
count =0
for i in L2:
print(count,i)
count += 1
for index,i in enumerate(L2):
print(index,i)

⑧ 排序
L2.sort() #排序

⑨ 拼接
L2+L1
L2.extend(L1)

⑩ 拷贝
L3 = L2.copy() #拷贝L2 赋值给L3 此时修改L2的值,L3不受影响

习题:
① 找列表中同样第二个元素索引(找出列表L2中第二个元素b的索引)
L2 = ['a','b','c','d','b','e','c']
first_index = L2.index('b') # 第一个b的索引是1
L3 = L2[first_index+1:] # 切片第二个列表L3
second_index = L3.index('b') # 第二个b的索引在第二个列表L3的位置2
print("列表中第二个b的位置为",first_index+second_index+1) # 4

② 商品列表打印格式
L2 = [['Iphone',5888],['MacPro',14800],['小米7',2499],['star',38],['air',4999],['book',19]]
print('--------商品列表--------')
for index,i in enumerate(L2):
print("%s. %s %s"%(index,i[0],i[1]))

--------商品列表--------
0. Iphone 5888
1. MacPro 14800
2. 小米7 2499
3. star 38
4. air 4999
5. book 19


 ③ 写一个循环,不断问用户买什么。用户选择一个商品编号,就把对应商品添加到购物车,当用户输入q,退出打印购物车列表

product_list = [['Iphone',5888],['MacPro',14800],['小米7',2499],['star',38],['air',4999],['book',19]]
shopping_cart = []
# run_flag = True
exit_flag = False
# while True:
# while run_flag:
while not exit_flag:
print('--------商品列表--------')
for index,i in enumerate(product_list):
print("%s. %s %s"%(index+1,i[0],i[1]))
choice = input("请输入商品编号:")
if choice.isdigit():
choice = int(choice)
if choice > 0 and choice <= len(product_list):
shopping = product_list[int(choice) - 1]
shopping_cart.append(shopping)
print("商品%s已添加购物车,请继续选择,按q退出" % product_list[choice-1])
print(shopping_cart)
else:
print("超范围了,请重新输入:")
elif choice == 'q':
if len(shopping_cart) > 0:
print("-----购物车------")
for index,j in enumerate(shopping_cart):
print("%s. %s %s"%(index+1,j[0],j[1]))
# break
# run_flag = False
exit_flag = True












posted @ 2018-06-23 21:10  桑铎是大叔  阅读(90)  评论(0)    收藏  举报