Python学习笔记 第一课 列表
Python的列表就像是一个数组:
一、创建列表
movies=["The Holy Grail","Then Life of Brian","The Meaning of Life"]
这里的movies是一个变量,而且不需要声明变量的类型。
数组是从0开始计数的。如果要访问列表里的数据,可以这样:
['The Holy Grail', 'Then Life of Brian', 'The Meaning of Life']
>>> movies[1]
'Then Life of Brian'
The Holy Grail的索引是0,Then Life of Brian的索引是1,The Meaning of Life的索引是2.
整个列表中有3个数据项,用len()函数:
>>> print(len(movies))
3
可以看到答案是3。
二、操作列表
1、添加数据项
用append()方法可以在列表末尾添加一个数据项:
>>> movies.append("Titanic")
>>> print(movies)
['The Holy Grail', 'Then Life of Brian', 'The Meaning of Life', 'Titanic']
2、移除数据项
用pop()方法可以从列表的末尾移除一个数据项,让我想到了从栈中弹出。
['The Holy Grail', 'Then Life of Brian', 'The Meaning of Life', 'Titanic']
>>> movies.pop()
'Titanic'
第三行显示Titanic从列表中移除了,真的吗?让我们看看现在的电影列表里还有些什么:
>>> movies.pop()
'Titanic'
>>> print(movies)
['The Holy Grail', 'Then Life of Brian', 'The Meaning of Life']
是的,列表中只有3个数据项了,Titanic已被移除。
3、添加数据项集合
用extend()方法可以在列表末尾增加一个数据项集合,就是和另一个列表合并。
先创建另一个列表:
>>> myList=['Cleese', 'Palin', 'Jones', 'Idle']
然后用extend()方法把这个myList列表添加到movies列表的后面:
>>> myList=['Cleese', 'Palin', 'Jones', 'Idle']
>>> movies.extend(myList)
>>> print(movies)
['The Holy Grail', 'Then Life of Brian', 'The Meaning of Life', 'Cleese', 'Palin', 'Jones', 'Idle']
可以看到myList列表已经添加到了movies列表的后面。
4、删除特定数据项
如果要删除某个数据项——注意不是从列表的末尾移除,可以用remove()方法,括号内写要删除的数据项名字。
 >>> movies.remove("Cleese")
 >>> print(movies)
 ['The Holy Grail', 'Then Life of Brian', 'The Meaning of Life', 'Palin', 'Jones', 'Idle']
可以看到Cleese已经从列表中删除了。
5、在某个位置添加数据项
用insert()方法可以在列表的任意位置添加数据项。
>>> movies.insert(0,"Hello World")
>>> print(movies)
['Hello World', 'The Holy Grail', 'Then Life of Brian', 'The Meaning of Life', 'Palin', 'Jones', 'Idle']
我们已经知道列表的计数是从0开始的,所以这里Hello World就被添加到了列表的开头。
练习题:
如果要得到这样的一个列表该怎么办?
["The Holy Grail", 1975, "The Life of Brian", 1979, "The Meaning of Life", 1983]
本以为刚学到的insert(),append()等方法会派上用场,而且感觉是个活学活用的好主意。可是书上的答案是第二种——直接手写出这个列表,免去了一些计算,因为这是一个小列表。
这让我想到Python的设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:
There should be one - and preferably only one - obvious way to do it.
--End--
Python学习笔记 第一课 列表的更多相关文章
- python学习笔记(一)、列表和元祖
		
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...
 - 2011斯坦福大学iOS应用开发教程学习笔记(第一课)MVC.and.Introduction.to.Objective-C
		
blog.csdn.net/totogo2010/article/details/8205810 目录(?)[-] 第一课名称 MVC and Introduction to Objective-C ...
 - Python学习笔记四:列表,购物车程序实例
		
列表 切片 中括号,逗号分隔,可以一次取出多个元素,起始位置包括,结束位置不包括(顾头不顾尾) 如果取最后一个,而且不知道列表长度,可以使用负数(-1是最后一个,以此类推) 如果取最后几个,记住从左往 ...
 - python 学习笔记二 (列表推导式)
		
2018年年初写了第一篇博客,说要做一个认真的技术人 https://www.cnblogs.com/yingchen/p/8455507.html 今天已经是11月19日了,这是第二篇博客,看来坚持 ...
 - Python学习,第一课 - 基础学习
		
前言. 本内容全部以python3所讲 一.Python安装 windows 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\pyth ...
 - 菜鸟Python学习笔记第一天:关于一些函数库的使用
		
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
 - python学习笔记4(列表)
		
列表是最通用的Python复合数据类型,列表中包含以逗号分隔,并在方括号([])包含的项目. 在一定程度上,列表相似C语言中的数组,它们之间的一个区别是,所有属于一个列表中的项目可以是不同的数据类型的 ...
 - python学习笔记之一:列表与元组
		
最近在看<python基础教程>(基于python2.x),下面总结一下第二章列表与元组的知识: 在这章中引入了数据结构的概念.数据结构是通过某种方式组织在一起的数据元素的集合.在pyth ...
 - 【python学习笔记】2.列表和元组
		
# 第二章:列表和元组 序列中,每个元素都有个一个序号,序号以0开始,最后一个元素序号为-1,倒数第二个-2 序列类型包括,列表,元组,字符串,unicode字符串,buffer, xrange ...
 
随机推荐
- [Hive - LanguageManual] Alter Table/Partition/Column
			
Alter Table/Partition/Column Alter Table Rename Table Alter Table Properties Alter Table Comment Add ...
 - Linux重复执行上条命令
			
Linux系统下Shell重复执行上条命令的 4 种方法: 1.使用上方向键,并回车执行.2.按 !! 并回车执行.3.输入 !-1 并回车执行.4.按 Ctrl+P 并回车执行.
 - 使用Async同步执行异步函数
			
为了适应异步编程,减少回调的嵌套,我在项目中引入了Async,当批量处理且需要同步执行一些逻辑相同的异步函数时,觉得还是Async最为靠谱. 我有一个类似下面代码的场景,依据数组中的每一个元素执行一个 ...
 - Codevs No.1287 矩阵乘法
			
2016-06-01 16:53:23 题目链接: 矩阵乘法 (Codevs No.1287) 题目大意: 给你两个可乘矩阵a,b,求a*b 解法: 定义....... //矩阵乘法 (Codevs ...
 - Spark SQL概念学习系列之为什么使用 Spark SQL?(二)
			
简单地说,Shark 的下一代技术 是Spark SQL. 由于 Shark 底层依赖于 Hive,这个架构的优势是对传统 Hive 用户可以将 Shark 无缝集成进现有系统运行查询负载. 但是也看 ...
 - Homework-10 BASIC
			
对于本次作业: 我的整体思路如下: 1.首先修改二维数组求最大子数组和的C语言代码,加入分步骤的当前最优解边界值,局部最优解的记录,使之支持分步执行,连续执行,回滚等功能. 2.将程序改写为Javas ...
 - Linux 系统监控和诊断工具:lsof
			
1.lsof 简介 lsof 是 Linux 下的一个非常实用的系统级的监控.诊断工具. 它的意思是 List Open Files,很容易你就记住了它是 “ls + of”的组合~ 它可以用来列出被 ...
 - ucGUI例程收藏
			
ucGUI 几个重要例程Demo 按钮的定制 #include <stddef.h> #include <string.h> #include "WM.h&quo ...
 - map的正确删除方式
			
遍历删除map元素的正确方式是 for(itor = maptemplate.begin; itor != maptemplate.end(); ) { if(neederase) ...
 - 一个简洁通用的调用DLL函数的帮助类
			
本次介绍一种调用dll函数的通用简洁的方法,消除了原来调用方式的重复与繁琐,使得我们调用dll函数的方式更加方便简洁.用过dll的人会发现c++中调用dll中的函数有点繁琐,调用过程是这样的:在加载d ...