列表

切片

中括号,逗号分隔,可以一次取出多个元素,起始位置包括,结束位置不包括(顾头不顾尾)

如果取最后一个,而且不知道列表长度,可以使用负数(-1是最后一个,以此类推)

如果取最后几个,记住从左往右数着取值,顾头不顾尾,所以如果取最后两个应该是[-2:]

从前取,如果是从0 开始,也可以省略

追加元素

a_list.append(value)

插入元素到任意位置

a_list.insert(index,value)

修改元素

a_list[index]=value

删除元素

a_list.remove(value)

del a_list[index]20

a_list.pop()——删除最后一个

a_list.pop(index)

查找元素

a_list.index(value)

统计元素

a_list.count(value)

反转元素

a_list.reverse()

排序元素

a_list.sort()

特殊符号、数字、小写、大写(ASCII)

扩展列表

a_list.extend(a_list2)

删除列表

del a_list

拷贝列表

a_list.copy()

a_list2=a_list[:]

a_list3= list(a_list)

改变一个列表的value,另一个的不变

但改变一个值的维度,由一维列表变成二维列表,则两个列表同时会变化

这是一个浅copy,只克隆第一层列表

第二个列表是第一个列表的引用

基于浅copy,修改copy出来的列表,可以实现类似继承的概念

深拷贝

import copy

copy.copy(a_list):浅拷贝,与a_list.copy()一样

copy.deepcopy(a_list):深拷贝

不要随便用,数据量大内存消耗大

二维列表

一维列表中的每个元素都可以是一个多维列表,但不能将一个一维元素编码设置为二维元素

Error: 'str' object does not support item assignment

string是不可以修改的对象

列表循环

for I in a_list:

print(i)

跳跃取值(步长切片)

a_list[0:-1:2],2为步长

a_list[:],从头打印到尾,怪异!

元组

只读列表,不能修改,只能查询,小括号

a_list = (“alex”,”jack”,”eric”)

方法:count、index

购物车程序实例

使用嵌套列表存储商品名称和价格,小括号无法修改,中括号可以修改

流程图:

输出列表索引和内容:

for index,item in enumerate(product_list):

print(index,item)

获得列表的长度:len(a_list)

改变输出颜色:\033[31;1m%s\033[0m,31字体红色,32字体绿色,41背景红色

退出程序,exit(“message”)

Python学习笔记四:列表,购物车程序实例的更多相关文章

  1. python3.4学习笔记(十一) 列表、数组实例

    python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...

  2. python学习笔记整理——列表

    Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...

  3. python学习笔记(列表、元组、购物车实例)

    一.列表 列表和字典是最常用的两种数据类型 1. 需求:怎么存放班级80多人的姓名,如何实现? names = ["Zhangyang","Guyun",&qu ...

  4. Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码

    一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...

  5. python学习笔记(2)--列表、元组、字符串、字典、集合、文件、字符编码

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表和元组的操作 列表是我们以后最长用的数据类型之一,通过列表可以最方便的对数据实现最方便的存储.修改等操作 定 ...

  6. python学习笔记(六)——程序调试

    在我们平时编写程序时,常常会遇到各种错误,俗称BUG.而我们程序猿的工作常常需要对程序进行调试,也就是所谓的debug. 程序调试是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法 ...

  7. python学习笔记四 迭代器,生成器,装饰器(基础篇)

    迭代器 __iter__方法返回一个迭代器,它是具有__next__方法的对象.在调用__next__方法时,迭代器会返回它的下一个值,若__next__方法调用迭代器 没有值返回,就会引发一个Sto ...

  8. Python学习笔记四:面向对象编程

    一:定义类并创建实例 Python中定义类,通过class关键字,类名开头大写,参数列表为所继承的父类.如果没有需要明确继承的类,则继承object. 使用类来创建对象,只需 类名+() 形式即可,p ...

  9. python学习笔记(四):生成器、内置函数、json

    一.生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间. 1. 列表生成式,在第二篇博客里面我写了 ...

随机推荐

  1. 使用MapKit框架(持续更新)

    使用MapKit框架 地图显示 最简单显示地图的代码: // // RootViewController.m // CoreLocation // // Copyright (c) 2014年 Y.X ...

  2. 关于微信公账号H5 API 调用的坑 BUG

    页面A已经配置过,如果是单页面跳转,则页面B可以共享当前的SDK配置(至少菜单是这样的) 刷新页面,原先的菜单仍然会保持原样,只是调用SDK已经失效了,需要重新配置,重新配置后,菜单仍然会保持原样(如 ...

  3. .net 面向对象程序设计深入](2)UML

    1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. 类型:动态图 应用:需求分析阶段 2.用例图元素 2.1 参与者(Ac ...

  4. linu常用命令链接

    linux命令大全ps命令详解: http://www.jb51.net/LINUXjishu/151851.html Linux禁止ping以及开启ping的方法: http://www.cnblo ...

  5. Python初学者第四天 二进制运转换

    4day 1.二进制运算 a.十进制转换二进制 342 转换成二进制 342  101010110 Python提供了一种简单的计算二进制的方法:bin() b.文字转换成二进制 ASCII码表 GB ...

  6. mysql登录:access denied for user 'root'@'localhost'(using password:YES)

    mysql登录: access denied for user 'root'@'localhost'(using password:YES) 解决: use mysql; select user,ho ...

  7. 面试知识整理-Java基础

    三大特征:封装,继承,多态 多态:简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情. 抽象:抽象是将一类对象的共同特征总结出来构造类的过程 包装,可以讲基本类型当做对象来使用,抽象只关心对 ...

  8. (转)tcp的半连接与完全连接队列

    队列及参数   tcp-sync-queue-and-accept-queue-small.jpg server端的半连接队列(syn队列) 在三次握手协议中,服务器维护一个半连接队列,该队列为每个客 ...

  9. Django 按时间来查找数据库中的数据

    问题: 按时间来查找数据表中的数据. 前提: 1. 数据表student中有一个字段类型为DateField或者DateTimeField字段, 字段名是birthday. 2. 数据表中已经有些数据 ...

  10. 4.spriing:Bean的生命周期/工厂方法配置Bean/FactoryBean

    1.Bean的生命周期 scope:singleton/prototype 1)spring容器管理singleton作用的生命周期,spring能够精确知道Bean合适创建,何时初始化完成,以及何时 ...