Python学习_20171126_列表
列表其功能相当于c语言中的数组,可存放任何东西,基本使用语句是
1 name = ['A','B','C','D','E'] 2 name2 = [1,2,3] 3 name[0]#取出第一个 4 name[-1]#取出最后一个 5 name[0:2]#取出第1到3个 6 name[2:]#取出第三个及以后 7 name.insert(3,'G')#在第i个插入G 8 name.expend('j')#在列表最后增加j 9 name.remove('j')#移除name列表中j这个元素 10 num = name.count('A') #将列表中的A的元素个数赋值num 11 name.extend(name2)#将name2中的元素增加到name中 12 name.reverse()#将列表中的元素顺序翻转 13 name.sort()#将数组排序 14 name.pop(i)#将数组中的元素删除掉,默认删除最后一个元素 15 name.copy#将元素中的数据复制一份
当列表中嵌套数组时,copy默认只操作第一层,不会操作第二层,也就是说,copy仅仅是操作了列表的地址,而嵌套的列表存在了一个完全独立的地址,第一册列表中存放的仅仅是嵌套列表的地址,当取出这个嵌套的列表时,仅仅是将其地址取出来了
name = [1,2,[1,2,3,4],4,5]
name2 = name.copy
name[2][2]='A'
print (name2)#输出结果为[1,2,[1,2,'A',4],4,5],就是这么神奇
元组:不可变列表
name = (1,2,3,4,5,6)
下面是一个自己写的购物车的小程序,实现基本功能如下:
输入用户money;
创建购物清单;
购买商品;
打印商品和购物车。
1 salary = input ('input your salary :') 2 if salary.isdigit():#判断输入money对否 3 salary = int(salary) 4 else : 5 exit('please input a right data') 6 welcome_msg = ' welcome to xia shopping mall'.center(50,'-')#将欢迎词居中,两边‘-’装饰 7 print(welcome_msg) 8 product_list = [ 9 ('apple' , 699), 10 ('hesson' , 5999), 11 ('xiaomi' , 599), 12 ('huawei' , 899), 13 ('mac' , 8899), 14 ('pork' , 9.9), 15 ('pen' , 19.9), 16 ('cloth' , 999.9) 17 ]#创建商品列表 18 choise_list = [] 19 exit_flag = False 20 while not exit_flag: 21 print('product list'.center(50,'-')) 22 for item in enumerate(product_list) :#遍历商品列表并打印出来,同时解决下标问题enumerate可以将列表中的数据增加下标 23 index = item[0] 24 p_name = item[1][0] 25 p_price = item[1][1] 26 print (index,'.',p_name,p_price) 27 28 user_choise = input('press q to quit ,press l to print list ,what do you want to buy:') 29 if user_choise.isdigit(): 30 user_choise = int(user_choise) 31 if user_choise < len(product_list): 32 p_item = product_list[user_choise] 33 if p_item[1] <= salary: 34 salary = salary - p_item[1] 35 choise_list.extend(p_item) 36 print('you have buy', 37 choise_list, 38 'your salary is \033[31;1m$$$%s$$$\033[0m '%salary )给salary增加颜色\033[31;1m***\033[0m 其中31是红字白底32是绿子白底41是红底黑字,42是绿底黑字 39 else : 40 print('you have not enougth money,choise any else') 41 else : 42 print ('input right number') 43 else: 44 if user_choise == 'q' or user_choise == 'quit': 45 print (choise_list,'in your shop car,your salary is\033[41;1m$$$%s$$$\033[0m'%salary) 46 print ('\033[42;1mwelcome the next time\033[0m'.center(50,'*')) 47 exit_flag = True 48 elif user_choise == 'l' or user_choise == 'list': 49 print (choise_list)