python自学第三天,列表
1.列表
names=[] #这就是一个空列表
names=[1,5,2,3,4,5]#列表是用的中括号,每个元素是用逗号分开的。列表里面的元素是可以重复的。
names[-1]#表示的是取列表的最后一个元素
names[0]#表示的是取列表的第一个元素,取列表的元素是以下标以0开始
#切片
names[1:3]表示取得列表元素是从第二个元素到第三个元素 。所谓顾头不顾尾。
names[1:-1]表示取得列表的从第二个元素到倒数第二个元素
names[-3:-1]表示的取的列表是从倒数第二个元素到倒数第三个元素
names[-2:]表示的取的列表是从最后一个元素到倒数第二个元素
names[:2]表示的取的列表是从第一个元素到第二个元素
names[0:-1:2]#表示 起始,结尾,步长。这是跳着切
#切片中遇到0和-1下标的可以省略不写
#插入
names.append(8) #默认插到列表的最后
names.insert(下标值,元素)#定点插入
#修改
names[下标值]=元素 #修改列表中的某个元素
#删除
names.pop() #默认删除列表中的最后一个元素
del names[下标值]#定点删除元素,del 也可以删除变量
names.remove(元素)#删除某个元素
#查询
names.index(元素)#查询某个元素的下标值
#统计
names.count(元素)#查询某个元素在列表中总共有几个
#排序
names.sort()
#翻转
names.reverse() #把列表的顺序倒过来
#扩展
names2=[100,101]
names.extend(names2)#表示原列表元素中多了names2的元素,而names2列表中的元素不会消失。
#copy
names1=names.copy()#表示为浅copy,只copy第一层,第二层会随着改变的与 names1=names完全不一样,后面这是全部指向一个内存。
如果要完全copy就要引入copy模块
import copy
names1=copy.deepcopy(names)#重新完全复制了一个内存。 慎少用。
元组tuple
#是用小括号创建的,一旦创建,就只能查询,也叫只读列表
#只有两个方法
names.index(元素)#查询元素的下标值
names.count(元素)#统计
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Hunter Yi product_list=[
["IphoneX",8800],
["MAC Pro",18000],
["Watch",3000],
["洗衣粉",50]]
salary=input("请输入工资:")
if salary.isdigit():
salary=int(salary)
shopping_cart = []
while True:
for index, item in enumerate(product_list):#enumerate()表示同时取出下标和值
print(index, item)
else:
comfir = input("请选择商品编号:")
if comfir.isdigit():#isdigit()判断输入的字符是否为数字
comfir = int(comfir)
if(comfir<=len(product_list)-1 and comfir>=0):
product_price = product_list[comfir][1]
if salary >= product_price:
salary = salary - product_price shopping_cart.append(product_list[comfir])
print("%s已经加入到购物车中去了,余额还剩:\033[35;1m%s\033[0m" %(product_list[comfir],salary))#高亮显示 紫色
else:
print("余额不足,请重新选择")
else:
print("对不起没有对应的商品,请重新输入")
continue elif comfir=='q':
print("你已经买了 %s ,余额还剩:\033[1;31m%s\033[0m" %(shopping_cart,salary))#高亮显示 红色
exit()
else:
print("输入非法字符请重新输入")
continue
高亮显示
格式:\033[显示方式;前景色;背景色m
说明: 前景色 背景色 颜色 -------------------------------------- 30 40 黑色 31 41 红色 32 42 绿色 35 45 紫红色 36 46 青蓝色 37 47 白色 显示方式 意义 ------------------------- 0 终端默认设置 1 高亮显示 4 使用下划线 5 闪烁 7 反白显示 8 不可见 \033[1;31;40m \033[0m python自学第三天,列表的更多相关文章
- Python自学:第三章 使用函数sort( )对列表进行临时排序
# -*- coding: GBK -*- cars = ["bmw", "audi", "toyota", "subaru&qu ...
- Python自学:第三章 确定列表长度
>>> cars = ["bmw", "audi", "toyota", "subaru"] > ...
- Python自学:第三章 倒着打印列表
# -*- coding: GBK -*- #reverse: 相反的 cars = ["bmw", "audi", "toyota", & ...
- Python自学:第三章 使用方法sort( )对列表进行永久性排序
cars = ["bmw", "audi", "toyota", "subaru"] cars.sort() print ...
- Python自学:第三章 弹出列表中任何位置处的元素
motorcycles = ["honda", "yamaha", "suzuki"] first_owned = motorcycles. ...
- Python自学:第三章 在列表末尾添加元素与在列表中插入元素
motorcycles = ['honda', 'yamaha' ,'suzuki'] motorcycles.insert(0, "ducati") print(motorcyc ...
- Python自学:第三章 修改列表元素
motorcycles = ['honda', 'yamaha', 'suzuki'] print(motorcycles) motorcycles[0] = 'ducati' print(motor ...
- Python自学:第三章 使用列表中的各个值
bicycles = ['trek','cannondale','redline','specialized'] message = "My first bicycle was a &quo ...
- Python自学:第三章 访问列表元素
#输出并首字母大写 bicycles = ['trek','cannondale','redline','specialized'] print(bicycles[0].title()) 输出为: T ...
随机推荐
- java多线程wait()方法必须放在while循环里面的原因探析
1.写一个包子生产消费案例:一次生产或消费一个包子,有包子就消费,没有就生产.(部分代码参考传智播客刘意2015Java基础视频讲义) 1.1 写一个Baozi.class,包含main()方法,用来 ...
- hbase知识
HBASE是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统 HBASE的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据. HBASE ...
- .NET 高效开发之不可错过的实用工具(第一的当然是ReSharper插件)
工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为 ASP.NET 开发者介绍一些高效实用的工具,包括 SQL 管理,VS插件,内存管理,诊断工具等,涉及开发过程的各个环节 ...
- OpenStack设计与实现5——RESTful API和WSGI
转https://segmentfault.com/a/1190000004361778 Tips:文章为拜读@xingjiarong 后有感而做的分享,先对作者表示感谢,附原文地址:http://b ...
- Buffer和Stream
Buffer JavaScript 语言自身只有字符串数据类型,没有二进制数据类型.但在处理像TCP流或文件流时,必须使用到二进制数据. 因此在 Node.js中,定义了一个 Buffer 类,该类用 ...
- Const的使用
const意味为readonly,即只读,const可被施加于任何作用域内的对象,函数参数,函数返回类型,成员函数本体 使用: const修饰变量时本质是 const在谁后面谁就不可修改,const在 ...
- Tomcat修改版本号教程(CentOS)
1 到apache-tomcat安装目录下的lib子文件夹,找到catalina.jar备份该文件然后将该文件下载到本地. 2 使用winrar等工具直接打开该jar包进入到org/apache/ca ...
- nodejs安装 淘宝镜像
1◆ nodejs下载 2◆ 安装 3◆ 测试 4◆ 淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 5 ...
- mongodb细节
MongoDB中数值型默认为Double,可以使用NumberInt()函数及NumberLong()函数分别指定某个字段为整型和长整型.
- shell 多重条件判断
多重条件判断 '判断1 -a 判断2' 逻辑与,判断1和判断2都成立,最终的结果才为真 '判断1 -o 判断2' 逻辑或,判断1和判断2有一个成立,最终的结果就为真 '!判断' 逻辑非,使原始的判断式 ...