先简单的了解一下两个相关概念
模块
python中的模块需要使用特殊的命令import来导入。格式:模块.函数。如下:
在确定自己不会导入多个同名函数的情况下,可以使用import命令的另外一种形式:from 模块 import 函数。但是此类命令总会有冲突,不建议使用。
还可以使用变量来引用函数,比如:
变量
变量名只能包含字母、数字和下划线,不能以数字开头。
变量名不能包含空格。
不要将Python关键字和函数名用作变量名, 即不要使用Python保留用于特殊用途的单词。
慎用小写字母l和大写字母O, 因为它们可能被人错看成数字1和0。
注意中文字输入法下的符号与英文不同,特别是引号的使用易出错。
列表和元组
序列
python中最基本的数据结构是序列,而序列最常用的有:列表和元组。其它内建序列有字符串、Unicode字符串、buffer对象和xrange对象。
列表和元组的主要区别在于,列表可以修改,元组则不能。像添加元素之类,列表会更好用,不能修改的时候,使用元组更为合适。
所有的序列都可以进行这些操作:索引、分片(sliceing)、加、乘以及检查某个元素是否属于序列的成员(成员资格)。
索引
序列中所有元素都是有编号的,从0开始,使用负数会从右边开始,最后一个元素的位置是-1。可以通过索引获取元素。
a='hello'
a[0]
分片
分片操作访问一定范围内的元素,通过冒号相隔的两个索引来实现。第一个索引是提取第一个元素的编号,最后的索引是提取分片之后剩下部分的第一个元素的编号,也就是第二个索引对应的元素不包含在分片内。
num=[1,2,3,4,5,44,7,8]
print (num[2:5])
[3, 4, 5]
只要分片中最左边的索引比它右边的晚出现在序列中,结果就是一个空序列。
num[-3:0]
想要分片得到包括序列结尾的元素,只要置空最后一个索引即可:
num[-3:]
同样也会使用于序列开始的元素。
如果复制整个序列,只要将两个索引置空。
步长
在普通的分片中,步长默认是1,步长设置比1大,就会跳过某些元素。负数步长(需要让开始索引大于结束索引点)从序列的尾部开始向左提取元素,直到第一个元素。
print (num[8:3:-1])
序列相加
使用+即可,但列表和字符串是无法连接在一起的。
乘法
用数字x乘以一个序列。创建一个占用是个元素的空间,但不包括任何有内容的列表,使用[0]*10。使用None代表空值,初始化一个长度为10的列表[None]*10
成员资格
检查一个值知否在序列中,可以使用in运算符。条件为真返回true,假返回false。
user = ['mdk', 'foo', 'bar']
aa = raw_input('Enter your user name: ') in user
print (aa)
内建函数、len(长度),min、max
列表
列表可以适用序列的标准操作,如索引、分片、连接和乘法。列表是可修改的,可以使用:元素赋值、元素删除、分片赋值及列表方法。
基本的列表操作
list函数:可以根据字符串创建列表。因为字符串不能像列表一样被修改。
List('hello')
['h', 'e', 'l', 'l', 'o']
赋值
使用索引标记赋值
a = [1, 2, 3]
a[1] = 4
print a
删除
同样使用索引,使用del语句来实现
del a[2]
分片赋值
分片赋值可以一次为多个元素赋值;也可以在不需要替换任何原有元素的情况下插入新的元素;利用替换一个空的分片,实现插入元素与删除元素。
a = [1, 2, 3, 4, 5, 6, 7, 8]
a[1:7] = []
列表方法
方法的调用:对象.方法(参数)
append方法,在列表末尾追加新的对象
count方法,统计某个元素在列表中出现的次数
b = [[1, 2], [1, 2, 3, 4], [2, 3, 4], [1, 2], 3, 1, 1]
b = b.count([1, 2])
extend方法,扩展,可以在列表的末尾一次性追加另一个序列中的多个值。
index方法,从列表中找出某个值第一个匹配项的索引位置。
insert方法,根据索引将对象插入到列表中。
a = [1, 2, 3, 4, 5]
a.insert(3, 'hehe')
[1, 2, 3, 'hehe', 4, 5]
pop方法,会移除列表中的一个元素,默认是最后一个,并且返回该元素的值。
a.pop(0)
1
模拟入栈和出栈:a.append(a.pop())
remove方法,移除列表中某个值的第一个匹配项。
c = ['a', 'd', 'x', 'd']
c.remove('d')
['a', 'x', 'd']
reverse方法,将列表中的元素反向存放。
sort方法,让元素能按一定的顺序排序。当用户需要一个排好的列表副本,同时又保持原有列表不变的时候,可以先把x的副本赋值给y
x=[4,1,8,5,3,2,9]
y=x[:]
y.sort()
print y
print x
而要保留列表元素原来的排序顺序,同时以特定的顺序呈现它们,还可以使用函数sorted()。注意:sort()方法不能这样使用。
高级排序
通过compare(x,y)的形式自定义比较函数。函数会在x<y时返回负数,在x>y时返回正数,如果x=y则返回0。内建函数cmp提供了比较函数的实现方式。
元组
元组不能修改,使用逗号分隔值,就自动创建了元组。
>>> 3*(30+2,)
(32, 32, 32)
元组大部分时候是通过圆括号括起来的。
>>> 43,
(43,)
tuple函数
以一个序列作为参数,转换为一个元组,如果参数就是元组,则返回原样。
>>> tuple((1,2,3))
(1, 2, 3)
>>> tuple([1,2,3,4])
(1, 2, 3, 4)
元组相对列表的意义:
1.可以在映射中当作键使用,而列表不行。
2.作为很多内建函数和方法的返回值存在。
字符串
字符串介绍
在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。
字符串的表示str和repr
字符串有两种机制,一是通过str函数,它会把值转换为合理形式的字符串,而repr会创建一个字符串,以合法的python表达式的形式来表示值。
repr(x)的功能也可以用`x`实现,比如:
input和raw_input比较
input会把用户输入的是合法的python表达式,若以字符串作为输入是没有问题的。raw_input函数会把所有的输入当作原始数据,然后将其放入字符串中,下面是其比较:
长字符串、原始字符串和unicode
若要一个长的字符串需要跨多行,可以使用三个引号代替普通引号。"""this""",在这之间可以使用单引号和双引号而不用使用转义。
原始字符串以r字符串开头,它不会把反斜线当作特殊字符,在原始字符串中输入的每个字符都会与书写的方式保持一致。
unicode字符串使用u前缀,与原始字符串r的使用一样。
字符串操作
所有的序列操作对字符串同样适用
字符串的格式化
字符串不可变,不能分片赋值。
字符串格式化,使用格式化操作符:百分号%
f = "hello %s, %s enough for ya?"
v = ('world', 'hot')
print f % v
%s 为转换说明符,标记了需要插入转换的位置。
如果右操作数是元组的话,其中每个元素都会被单独格式化,那需要有相对的转换说明符。
转换参数,
%字符:标记转换说明符的开始
转换标志:-表示左对齐;+表示在转换值之前要加上正负号;""表示正数之前保留空格;0表示转换值若位数不够用0来补充。
点(.)后跟精度值:转换的字符串,精度值表示最大字段宽度,如果是*,那么精度会从元组中读出。
最小字段宽度:转换后的字符串至少应具有该值指定的宽度。如果是*,则宽度会从值元组中读出。
转换类型:
字符串的方法
find():在字符串中查找子字符串,返回子串所在位置的最左端索引,没找到则返回-1。
join:是split方法的逆方法,在队列中添加元素,需要添加的队列元素都必须是字符串。
split:见如下便知:
lower:lower方法返回字符串的小写字母。title方法会将字符串转换为标题,但可能得到并不自然的结果,用string模块的capwords函数即可。
replace:返回字符串所有匹配项均被替换之后得到的字符串。
strip:返回去两侧空格的字符串。
tanslate:只处理单个字符,优势在于可以同时进行多个替换比replace效率高很多。
在使用translate转换前,需要先完成一张转换表。转换表中是以某字符替换某字符的对应关系。
python之字符串、列表和元组的更多相关文章
-
python之字符串,列表,字典,元组,集合内置方法总结
目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...
-
Python 学习笔记(1)Python容器:列表、元组、字典与集合
Python容器:列表.元组.字典与集合 列表: 1.列表 的创建 使用[ ] 或者 list()创建列表:empty_list = [ ] 或者 empty_list= list() 使用list( ...
-
python 变量、列表、元组、字典
python 变量.列表.元组.字典 1.python 变量赋值 2.ptython 列表 3.python 元组 4.python 字典 1. Python变量赋值 1.1变量的命名规 ...
-
python基础之列表list元组tuple
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...
-
Python学习_03_列表、元组、字符串
列表.元组.字符串这些通过顺序访问的对象统称为序列. 序列的标准操作符 对于一般的序列对象,包括列表.元组.字符串,都具有以下的标准操作: 1. element [not] in seq判断一个元素是 ...
-
Python中的列表,元组,字符串之间的相互转化
Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am x ...
-
python基础之 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
-
Python中的列表、元组、字典、字符串及切片操作
我们引入一个新的概念:数据结构 数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字或字符,甚至可以是其他数据结构,在python中,最基本的数据结构是序列,序列中的每个元素匾被分 ...
-
第三章 Python容器:列表、元组、字典与集合
数据结构的分类依据?基本的"数组"在python中是列表, 数据结构的作用?容器,盛放数据,是由原子组成的分子.可以将一群数据进行整合.拆分.重排. 3.2 列表 列表是啥?顺 ...
-
Python基础学习 -- 列表与元组
本节学习目的: 掌握数据结构中的列表和元组 应用场景: 编程 = 算法 + 数据结构 数据结构: 通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些元素可以是数字或者字符,或者其他数据 ...
随机推荐
-
TYVJ1035 棋盘覆盖
时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 给出一张n*n(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨牌进行掩 ...
-
TDD学习笔记【五】一隔绝相依性的方式与特性
前言 在上一篇文章中,提到了如何通过 IoC 的设计,以及 Stub Object 的方式,来独立测试目标对象. 这一篇文章,则要说明有哪些设计对象的方式,可以让测试或需求变更时,更容易转换. 并说明 ...
-
ajax请求cookie有效性问题验证
与人讨论时遇到一个问题,就是: 浏览器中后台发起的一个异步ajax请求,服务器做响应时,附带了cookie信息,那么后续对同域名下其他页面请求时,该cookie是否有效,会一并随请求提交到web服务器 ...
-
top命令详解(转,详细)
来源:脚本之家(http://www.jb51.net/article/40807.htm) 本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,还包括视图中各进程(任 ...
-
neon指令,注意事项
1. vbic_s8 (int8x8_t a, int8x8_t b) 是 ~(ai & bi),一开始理解成 (~ai )& bi 导致出错 2.uint8x8_t vqshrn ...
-
UVA 1659 Help Little Laura 帮助小劳拉 (最小费用流,最小循环流)
(同时也是HDU 2982,UVA的数据多) 题意:平面上有m条有向线段连接了n个点.你从某个点出发顺着有向线段行走,给走过的每条线段涂一种不同的颜色,最后回到起点.你可以多次行走,给多个回路涂色(要 ...
-
POJ 1002 UVA 755 487--3279 电话排序 简单但不容易的水题
题意:给你许多串字符串,从中提取电话号码,输出出现复数次的电话号码及次数. 以下是我艰难的AC历程:(这题估计是我刷的题目题解次数排前的了...) 题目不是很难理解,刚开始想到用map,但stl的ma ...
-
项目实战(连载):基于Angular2+Mongodb+Node技术实现的多用户博客系统教程(2)
本章主要讲什么(一句话)? <项目实战:基于Angular2+Mongodb+Node技术实现的多用户博客系统教程(2)> -- 基于MongoDB的MyBlog数据库知识技术储备(上 ...
-
认真地搞OI
新博客的开头 OI生涯的开始 #include<cstdio> int main() { puts("Hello world!"); ; }
-
asp.net的Request.ServerVariables参数说明
Request.ServerVariables["SERVER_NAME"] '获取服务器IPRequest.ServerVariables["HTTP_REFERER& ...