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             绿色
33               43             黃色
34               44             蓝色
35               45             紫红色
36               46             青蓝色
37               47             白色
显示方式          意义
-------------------------
0               终端默认设置
1               高亮显示
4               使用下划线
5               闪烁
7               反白显示
8               不可见
例子:
\033[1;31;40m  
\033[0m         

python自学第三天,列表的更多相关文章

  1. Python自学:第三章 使用函数sort( )对列表进行临时排序

    # -*- coding: GBK -*- cars = ["bmw", "audi", "toyota", "subaru&qu ...

  2. Python自学:第三章 确定列表长度

    >>> cars = ["bmw", "audi", "toyota", "subaru"] > ...

  3. Python自学:第三章 倒着打印列表

    # -*- coding: GBK -*- #reverse: 相反的 cars = ["bmw", "audi", "toyota", & ...

  4. Python自学:第三章 使用方法sort( )对列表进行永久性排序

    cars = ["bmw", "audi", "toyota", "subaru"] cars.sort() print ...

  5. Python自学:第三章 弹出列表中任何位置处的元素

    motorcycles = ["honda", "yamaha", "suzuki"] first_owned = motorcycles. ...

  6. Python自学:第三章 在列表末尾添加元素与在列表中插入元素

    motorcycles = ['honda', 'yamaha' ,'suzuki'] motorcycles.insert(0, "ducati") print(motorcyc ...

  7. Python自学:第三章 修改列表元素

    motorcycles = ['honda', 'yamaha', 'suzuki'] print(motorcycles) motorcycles[0] = 'ducati' print(motor ...

  8. Python自学:第三章 使用列表中的各个值

    bicycles = ['trek','cannondale','redline','specialized'] message = "My first bicycle was a &quo ...

  9. Python自学:第三章 访问列表元素

    #输出并首字母大写 bicycles = ['trek','cannondale','redline','specialized'] print(bicycles[0].title()) 输出为: T ...

随机推荐

  1. cmd下可以启动java,输入javac提示 不“存在”

    方法:手动把JDK安装目录的bin目录配置到PATH环境变量里

  2. 浅谈mysql

    关于数据库其实我们可以简单的理解为存储货物的一个厂库,里面分别是按照一定的分类存放的物品,然后人们有时会从厂库中拿走或存储一些物品,有时也会更改或增加一些分类 这些物品都分门别类的存放在厂库中,方便人 ...

  3. 函数指针做函数参数,其中有typedef的相关,感觉这是构成大河的小溪

    #include<stdio.h> #include<stdlib.h> #include<string.h> int Funcadd(int a, int b) ...

  4. js中去掉字符串的空格、回车换行

    //例如下面这个json串,中间的\n表示换行 var str = "{' retmsg':'success ',\n' trans_date':' 20170906'}"; co ...

  5. awr相关

    手工生成awr快照SQL> exec dbms_workload_repository.create_snapshot; PL/SQL procedure successfully comple ...

  6. call、apply、bind三者的区别

    先构造函数let xiaowang={ name1:"小王", age:", sex:"男", say:function(){ console.log ...

  7. 什么是CSS hack?

    1.什么是CSS hack? CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的,CSS hack就是让你记住这个标准),以 ...

  8. volatile原理解析

    Java并发编程:volatile关键字解析 volatile 有序性.可见性 volatile可以保证一定程度上有序性,即volatile前面的代码先于后面的代码先执行. 但是前.后代码,各自里面的 ...

  9. JDK8的ConcurrentHashMap也会造成CPU 100%

    转载:不止 JDK7 的 HashMap ,JDK8 的 ConcurrentHashMap 也会造成 CPU 100%?原因与解决~ 现象 大家可能都听过JDK7中的HashMap在多线程环境下可能 ...

  10. adb(Android Debug Bridge)安装使用教程

    一.说明 adb的db是debug bridge而不是和gdb一样指debug,这意思是说adb不能像gdb那样能一步步调试代码,但可以启到一些类似调试的功能. 下面就针对这些功能进行介绍,本文根据官 ...