- 浏览: 317156 次
文章分类
最新评论
-
ZT71363387:
多谢,帮我解决了抄送人收不到邮件的问题
python smtplib -
dsjt:
pythonw.exe 运行后无反应。版本不匹配啊。
python+PyQT+Eric安装配置 -
dsjt:
xp 32位系统安装eric后,目录下没有 .bat文件是怎么 ...
python+PyQT+Eric安装配置
列表和元组
Table of Contents
- 1 序列概览
- 2 通用序列操作
- 2.1 索引
- 2.2 分片
- 2.3 序列相加
- 2.4 乘法
- 2.5 成员资格
- 2.6 长度,最大值,最小值
- 3 列表:Python的“苦力”
- 3.1 list
- 3.2 基本列表操作
- 3.3 列表方法
- 4 元组
- 4.1 元组定义:
- 4.2 tuple函数
- 4.3 元组的意义:
1 序列概览
- 说明:序列包括(列表,元组,字符串,buffer对象,xrange对象)
- 注意:列表可以修改,元组不能被修改。
- 例子:
>>> edward=["Edward Gumby", 42] >>> bill =["Bill Gunn", 30] >>> database = [edward, bill] >>> database [['Edward Gumby', 42], ['Bill Gunn', 30]] >>> database[0] ['Edward Gumby', 42]
2 通用序列操作
2.1 索引
- 说明:
- 索引值可正可负,正索引从0开始,从左往右;负索引从-1开始,从右往左。使用负数索引时,python会从最后一个元素开始计 数。最后一个元素的位置编号是-1;
- 字符串可以直接使用索引;
- 例子:
>>> str = "Test" #一般索引 >>> str[0] 'T' >>> str[1] 'e' #负数索引 >>> str[-1] 't' >>> str[-2] 's' #字符串直接索引 >>> "Test"[0] 'T' >>> "Test"[1] 'e' >>> "Test"[-1] 't'
2.2 分片
- 说明:使用分片操作来访问一定范围内的元素。分片通过冒号相隔的两个 索引来实现。
- 注意:
- 第一个索引是需要提取部分的第一个元素的索引值,而最后的索引 则是分片之后右侧剩下部分的第一个元素的索引;
- 如果右侧全部提取,则分片时,可以不写右侧索引,也可以将右侧索引 写最后一个元素的下一个索引;
- 如果左侧全部提取,刚分片时,左侧索引可以写0,也可以不写;
- 设置步长:不指明步长时,步长取1,也可以指定步长,步长不能为 0 ,步长也可以是负数,可以反序输出提取部分。
- 例子:
>>> data=[1,2,3,4,5,6,7,8,9,10] #提取序列的一部分 >>> data[1:6] [2, 3, 4, 5, 6] #提取右侧全部 >>> data[3:] [4, 5, 6, 7, 8, 9, 10] >>> data[7:10] [8, 9, 10] #提取左侧全部 >>> data[:3] [1, 2, 3] >>> data[0:3] [1, 2, 3] #负索引提取 >>> data[-3:-1] [8, 9] >>> data[-3:] [8, 9, 10] #设置步长 >>> data[::2] [1, 3, 5, 7, 9] >>> data[1::2] [2, 4, 6, 8, 10] #步长也可以是负数 >>> data[::-1] [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>> data[-1:-8:-1] [10, 9, 8, 7, 6, 5, 4] >>> data[8:1:-1] [9, 8, 7, 6, 5, 4, 3]
2.3 序列相加
- 说明:通过加号可以进行序列连接;
- 例子:
#序列相加
>>> first=[1,2]
>>> second=[3,4]
>>> first+second
[1, 2, 3, 4]
2.4 乘法
- 说明:用一个正整型数乘以序列,可以得到一个新的重复了n次的序列
- 注意:
- 空列表可以简单地通过两个中括号进行表示([])
- None 是Python关键字,表示“什么也没有”
- 例子:
#10个python >>> 'python ' * 10 'python python python python python python python python python python ' #10个空对象 >>> [None] * 10 [None, None, None, None, None, None, None, None, None, None] #打印盒子 mystr = input("Please input a string:") strLen = len(mystr) lineStart = 20 print (" " * lineStart + "+" + "-" * strLen + "+") print (" " * lineStart + "|" + " " * strLen + "|") print (" " * lineStart + "|" + mystr + "|") print (" " * lineStart + "|" + " " * strLen + "|") print (" " * lineStart + "+" + "-" * strLen + "+") >>> Please input a string:My name is Bill Gunn +--------------------+ | | |My name is Bill Gunn| | | +--------------------+
2.5 成员资格
- 说明:使用关键字 in 检查值是否在序列中。如果值在序列中返回 “True”,否则返回“False”。值可以是元素也可以是子序列。
- 例子:
#检查值是否在序列中 >>> mystr="this is a string" >>> 'this' in mystr True
2.6 长度,最大值,最小值
- 说明:
- len :返回序列包含元素的数量;
- min :返回序列中的最小值;
- max :返回序列中的最大值;
#min,max和len的用法 >>> data = [12,31,2,1,3,12,3,13,131234,12] >>> min(data) 1 >>> max(data) 131234 >>> len(data) 10
3 列表:Python的“苦力”
3.1 list
- 说明:可以将字符串或其他序列转换成列表。
- 注意:list是类型,不是函数。
- 例子:
>>> list("This is a test string") ['T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', ' ', 's', 't', 'r', 'i', 'n', 'g']
3.2 基本列表操作
- 说明:
- 元素赋值:使用索引标记来为某个特定的,位置明确的元素赋值;
- 元素删除:使用 del 语句;
- 分片赋值:
- 可以一次为多个元素赋值;
- 原片与新片可以长度不同;
- 分片赋值可以在指定位置插入新的元素;
- 例子:
>>> mylist = [1,2,3,4,5] #列表元素赋值 #索引必须在列表范围内 >>> mylist[10] = 10 Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> mylist[10] = 10 IndexError: list assignment index out of range >>> mylist[0] = 100 >>> mylist [100, 2, 3, 4, 5] #删除元素 >>> del(mylist[0]) >>> mylist [2, 3, 4, 5] >>> #分片赋值 >>> mystr = list("Nale Gunn") >>> mystr[0:4] = list("Bill") >>> mystr ['B', 'i', 'l', 'l', ' ', 'G', 'u', 'n', 'n'] #分片赋值时,原片与新片长度不同 >>> mystr=list("Bill Gunn") >>> mystr[-5:] = list("gunn@gmail.com") >>> mystr ['B', 'i', 'l', 'l', 'g', 'u', 'n', 'n', '@', 'g', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm'] >>> #分片赋值可以在指定位置插入新的元素 >>> mystr=list("Bill Gunn") >>> mystr[0:0] = list("My name is ") >>> mystr ['M', 'y', ' ', 'n', 'a', 'm', 'e', ' ', 'i', 's', ' ', 'B', 'i', 'l', 'l', ' ', 'G', 'u', 'n', 'n'] >>>
3.3 列表方法
- 说明:
- append:用于在列表末尾追加一个新的元素;列表调用该方法后,直接被该 方法修改;
- count:用于统计某个元素在列表中出现的次数;
- extend:在列表的末尾一次性追加另一个列表中的多个元素,该方法 也是直接修改原列表,这也是与列表连接操作的区别;
- index:找出某个匹配项第一次出现的索引;
- insert:在列表中插入新的对象;
- pop:移除列表中的一个值(默认是最后一个),并返回该元素的值;
- remove:用于移除某个值在列表中的第一个匹配项;
- reverse:将列表中的值反向存放;
- sort:对列表进行排序;
- sorted内建函数:对序列进行反序,并返回一个列表
- 注意:
- 列表复制:用分片的方法复制比较有效率。
- 例子:
#append >>> lst = list("Test") >>> lst.append(list("String")) >>> lst ['T', 'e', 's', 't', ['S', 't', 'r', 'i', 'n', 'g']] >>> lst.append("String") >>> lst ['T', 'e', 's', 't', ['S', 't', 'r', 'i', 'n', 'g'], 'String'] >>> lst=list("Test") >>> lst.append("!") >>> lst ['T', 'e', 's', 't', '!'] #count >>> lst.count('T') 1 >>> lst.count('t') 1 #extend >>> lst.extend(list("HaHa")) >>> lst ['T', 'e', 's', 't', '!', 'H', 'a', 'H', 'a'] >>> lst.index('t') 3 >>> #pop >>> lst = [1,2,3] >>> lst.pop() 3 >>> lst [1, 2] >>> lst.pop(0) 1 >>> lst [2] >>> #pop >>> lst = [1,2,3] >>> lst.pop() 3 >>> lst [1, 2] >>> lst.pop(0) 1 >>> lst [2] #remove >>> lst=list("12345678") >>> lst ['1', '2', '3', '4', '5', '6', '7', '8'] #删除不存在的对象会报错 >>> lst.remove(2) Traceback (most recent call last): File "<pyshell#42>", line 1, in <module> lst.remove(2) ValueError: list.remove(x): x not in list >>> lst.remove('2') >>> lst ['1', '3', '4', '5', '6', '7', '8'] #reverse >>> lst.reverse() >>> lst ['8', '7', '6', '5', '4', '3', '1'] #sort >>> lst.sort() >>> lst ['1', '3', '4', '5', '6', '7', '8'] >>> lst.sort(key=len) >>> lst ['1', '3', '4', '5', '6', '7', '8'] >>> lst = ['asdf','qwersf','aaf','s','afasfd','qre'] >>> lst.sort(key=len) >>> lst ['s', 'aaf', 'qre', 'asdf', 'qwersf', 'afasfd'] >>> lst.sort(key=len,reverse=True) >>> lst ['qwersf', 'afasfd', 'asdf', 'aaf', 'qre', 's'] >>> #列表复制 >>> x = list('123456') #下面的复制,只是让y也指向x指向的对象,所以修改x,也会影响y的值 >>> y = x >>> x.reverse() >>> y ['6', '5', '4', '3', '2', '1'] #用分片的方法复制,x与y相互独立,修改x,不会影响y >>> y=x[:] >>> y.sort() >>> x ['6', '5', '4', '3', '2', '1'] >>> y ['1', '2', '3', '4', '5', '6'] >>>
4 元组
4.1 元组定义:
- 说明:元组不可以修改,一般用圆括号括起来
- 例子:
#一般元组 >>> 1,2,3 (1, 2, 3) >>> (1,2,3) (1, 2, 3) #一个元素的元组 >>> (1,) (1,) >>> 2, (2,) #空元组 >>> () () >>> #元组的乘法 >>> 4* (2,) (2, 2, 2, 2) >>>
4.2 tuple函数
- 说明:以一个序列为参数,将其转换为元组;
- 例子:
>>> tuple("CONSTANT") ('C', 'O', 'N', 'S', 'T', 'A', 'N', 'T') >>> tuple(list("CONST")) ('C', 'O', 'N', 'S', 'T') >>>
4.3 元组的意义:
- 元组可以在映射中当作键使用;
- 元组作为很多内建函数和方法的返回值存在。
发表评论
-
lxml.etree
2017-06-21 10:48 618http://www.cnblogs.com/bluesc ... -
Python dictdiffer模块比较两个字典
2017-03-04 17:51 3554http://dictdiffer.readthedocs. ... -
python 判断一个对象是否可迭代
2017-01-23 09:44 651如何判断一个对象是可迭代对象呢?方法是通过collectio ... -
给python交互式命令行增加自动补全和命令历史
2017-01-22 10:09 683在用户目录下新建".pythonstartup& ... -
python 字典格式化
2017-01-16 13:57 408import pprint data = {'a': ... -
python最简洁的条件判断语句写法
2017-01-11 20:11 1168这篇文章主要介绍了Python返回真假值(True or ... -
python 格式化json
2016-12-19 20:07 564#!/usr/bin/env python # -*- ... -
python下载文件的三种方法
2016-11-18 10:21 402Python开发中时长遇到要下载文件的情况,最常用的方法就是 ... -
python 格式化字典字符串
2016-11-13 15:27 346version = {'a': 1, 'b': 2, 'c' ... -
python __fatal退出函数
2016-11-13 14:41 634def __fatal(exitcode, message) ... -
Python logging
2016-09-18 18:13 491#!/usr/bin/env python # -*- ... -
思考:如果list中既包含字符串,又包含整数,由于非字符串类型没有lower()方法,所以列表生成式会报错:
2016-06-24 18:30 2045>>> L = ['Hello', 'Wor ... -
去除重复字符串并保持原来顺序输出
2016-06-23 17:53 1199#!/usr/bin/env python # -*- c ... -
Python getpass 输入密码
2016-03-28 20:35 623Python有个自带的getpass模块: impor ... -
优秀Python学习资源收集汇总(强烈推荐)
2016-02-29 15:15 699Python是一种面向对象、直译式计算机程序设计语言。它的 ... -
python 模拟登录iteye博客
2016-01-07 11:32 638#!/usr/bin/python # -*- codi ... -
Python之路【目录】
2016-01-02 00:41 636http://www.cnblogs.com/wupeiq ... -
Python 正则 提取由start开始到end结束的行
2015-12-16 13:51 695import re s=open(r"bug.t ... -
Python文件替代fileinput模块
2015-12-12 12:05 1386Python文件替代fileinput模块 一,文件替代: ... -
linecache,想读某行周围的哪行都可以
2015-12-12 12:04 710import linecache x=linecache ...
相关推荐
这份“Python基础教程——学习笔记”涵盖了Python编程的基础知识,旨在帮助初学者快速入门。 1. **变量与数据类型** Python中的变量无需预先声明,可以直接赋值。支持的数据类型包括整型(int)、浮点型(float)...
本技术笔记专为有一定Python研发经验的开发者设计,旨在通过源码分析揭示Python的基础库和CPython的运行原理。 在第一章“数据对象与语言特性”中,我们将探讨以下关键知识点: 1. **列表(List)与元组(Tuple)...
### Python学习笔记知识点详解 ...通过以上知识点的梳理,我们可以看出,“Python学习笔记.pdf”涵盖了Python语言的基础到高级的多个方面,是一份全面且实用的学习材料,适合初学者到有经验的开发者阅读和参考。
最近重新再看python的基础知识,感觉自己还是对于这些知识很陌生,需要用的时候还是需要翻书查阅,还是先注重基础吧——我要重新把python的教程阅读一遍,把以前自己忽略的部分学习,加强练习和记忆。 现在读到了...
"Python学习笔记第二版"是一本专门针对Python编程的教程,旨在帮助读者理解Python的基本编码操作,适用于初学者和有一定基础的学习者进行日常复习。这本书的作者鼓励读者结合其他深入源码分析的书籍,比如《蟒原——...
**Python入门笔记——李金详解** 本篇笔记是基于作者李金的《python入门笔记-李金(强烈推荐)》的解析,旨在为初学者提供一份详尽的Python语言学习指南。这份笔记采用Jupyter Notebook的形式,使得学习过程更加...
### 知识点详解 #### 一、Python基础 Python是一种高级编程语言,以...以上就是“全套百度云教程:python基础+进阶+项目篇 (含Django和Tornado)”的主要知识点概述。希望对您学习Python及相关的Web开发技术有所帮助。
总结,学习《全国计算机等级考试二级教程——Python语言》应注重基础知识的掌握,理解Python语法特性,熟练运用标准库,掌握面向对象编程,了解文件操作和异常处理,实践模块化和函数式编程,以及进行单元测试。...
1. **基础语法**:Python的基础包括变量赋值、数据类型(整型、浮点型、字符串、布尔型、列表、元组、字典、集合)、流程控制(条件语句、循环语句、异常处理)。 2. **函数与模块**:函数是组织代码的基本单位,...
"Python 101"通常指的是Python编程的基础教程,涵盖了初学者需要掌握的核心概念和技术。 在学习这个课程时,你可以期待涵盖以下Python基础知识: 1. **变量与数据类型**:Python中的基本数据类型包括整型(int)、...
标题“belajar-basis-data”暗示了这是一个关于学习基础数据库知识的资料集合,可能是课程材料、教程或笔记。由Aryajaya Alamsyah,S.Kom创建,我们可以期待这是一份由专业人士编写的教育资源,可能包含数据库的基本...