列表

切片

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

如果取最后一个,而且不知道列表长度,可以使用负数(-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. [翻译] NimbusKit

    注意:NimbusKit 是Github上iOS部分开源库排名前20中的一员. http://nimbuskit.info/ https://github.com/jverkoey/nimbus ht ...

  2. Simotion 凸轮同步,偏移凸轮起点

    将同步对象的 SyncingMotion.camReferenceBySlaveModeRelative 修改为 POSITION_AT_START_OF_CAMMING myRetDINT := _ ...

  3. 从0开始学CentOS7(2)---安装mariaDB、jdk1.8、redis

    继续前面的基础步骤~ 这个是centos7自带的数据库MariaDB,以前是mysql,到7以后,改为MariaDB... 1. MariaDB安装,没有往深处配置...懒得动了..参考:http:/ ...

  4. The Tao to Excellent

    1:一次只做一件事情 我不具备同时做好多件事情的能力. 2:随身携带一本书 效率最高的学习时间是那些零碎的时间. 3:听身体的 休息的标准是:如果你觉得你是在休息,那你就是在休息了. 4:如果有一件事 ...

  5. OC Copy and MutableCopy的使用

    #import <Foundation/Foundation.h> @interface Student : NSObject <NSCopying> // copy代表set ...

  6. isset() 与 array_key_exists() 比较

    1.对于数组值的判断不同,对于值为null或''或false,isset返回false,array_key_exists返回true: 2. 执行效率不同,isset是内建运算符,array_key_ ...

  7. HDU 1281 棋盘游戏 【二分图最大匹配】

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1281 题意概括: 有N*M大的棋盘,要在里面放尽量多的“车”,求最多能放的车的个数,和为了放最多的车有多 ...

  8. JS常用方法封装

    迭代添加各种常用方法:项目中一定会有很多常用的方法,包括:取值,校验,等...... 获取 url 后的参数 function getQueryString(name) { var reg = new ...

  9. 理解JavaScript原始类型和引用类型

    原始类型 我们知道类型(type)定义为值的一个集合,所以每种原始类型定义了它包含的值的范围及其字面量表示形式.一共有5 种原始类型(primitive type),即 Undefined.Null. ...

  10. 【题解】洛谷P4281 [AHOI2008] 紧急集合(求三个点LCA)

    洛谷P4281:https://www.luogu.org/problemnew/show/P4281 思路 答案所在的点必定是三个人所在点之间路径上的一点 本蒟蒻一开始的想法是:先求出2个点之间的L ...