序列

描述

sequence(序列)是一组有顺序的元素的集合。序列可以包含一个或多个元素,也可以没有任何元素。我们之前所说的基本数据类型,都可以作为序列的元素。

序列有两种:tuple(定值表; 也有翻译为元组) 和 list (表)

s1 = (2, 1.3, 'love', 5.6, 9, 12, False) # s1是一个tuple
s2 = [True, 5, 'smile'] # s2是一个list

tuple元素不可变,list元素可变

序列的引用 s[2], s[1:8:2]

字符串是一种tuple

序列操作

#s为一个序列

len(s)  #返回: 序列中包含元素的个数

min(s)  #返回: 序列中最小的元素

max(s)  #返回: 序列中最大的元素

all(s)  #返回: True, 如果所有元素都为True的话

any(s)  #返回: True, 如果任一元素为True的话

sum(s)  #返回:序列中所有元素的和

#x为元素值,i为下标(元素在序列中的位置)

s.count(x)  #返回: x在s中出现的次数

s.index(x)  #返回: x在s中第一次出现的下标

列表增删

# list为一个表, list2为另一个表

list.extend(list2)   #在表list的末尾添加表list2的所有元素

list.append(x)   #在list的末尾附加x元素

list.sort()   #对list中的元素排序

list.reverse()    #将list中的元素逆序

list.pop()    #返回:表list的最后一个元素,并在表l中删除该元素

del list[i]    #删除该元素

(以上这些方法都是在原来的表的上进行操作,会对原来的表产生影响,而不是返回一个新表。)

字符串

#str为一个字符串,sub为str的一个子字符串。s为一个序列,它的元素都是字符串。width为一个整数,用于说明新生成字符串的宽度。

str.count(sub)  #返回:sub在str中出现的次数

str.find(sub)  #返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1

str.index(sub)  #返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误

str.rfind(sub)  #返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1

str.rindex(sub)  #返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误

str.isalnum()  #返回:True, 如果所有的字符都是字母或数字

str.isalpha()  #返回:True,如果所有的字符都是字母

str.isdigit()  #返回:True,如果所有的字符都是数字

str.istitle()  #返回:True,如果所有的词的首字母都是大写

str.isspace()  #返回:True,如果所有的字符都是空格

str.islower()  #返回:True,如果所有的字符都是小写字母

str.isupper()  #返回:True,如果所有的字符都是大写字母

str.split([sep, [max]])  #返回:从左开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.split(',')的方式使用逗号或者其它分割符

str.rsplit([sep, [max]])  #返回:从右开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.rsplit(',')的方式使用逗号或者其它分割符

str.join(s)  #返回:将s中的元素,以str为分割符,合并成为一个字符串。

str.strip([sub])  #返回:去掉字符串开头和结尾的空格。也可以提供参数sub,去掉位于字符串开头和结尾的sub

str.replace(sub, new_sub)  #返回:用一个新的字符串new_sub替换str中的sub

str.capitalize()  #返回:将str第一个字母大写

str.lower()  #返回:将str全部字母改为小写

str.upper()  #返回:将str全部字母改为大写

str.swapcase()  #返回:将str大写字母改为小写,小写改为大写

str.title()  #返回:将str的每个词(以空格分隔)的首字母大写

str.center(width)  #返回:长度为width的字符串,将原字符串放入该字符串中心,其它空余位置为空格。

str.ljust(width)  #返回:长度为width的字符串,将原字符串左对齐放入该字符串,其它空余位置为空格。

str.rjust(width)  #返回:长度为width的字符串,将原字符串右对齐放入该字符串,其它空余位置为空格。

常用函数

type() #查询数据类型(整数,浮点数,真值(True/False),字符串)

dir(list)  #dir()用来查询一个类或者对象所有属性。你可以尝试一下

help(list)  #help()用来查询的说明文档。你可以尝试一下

range()

range(5) #代表从0到5(不包含5) ==>[0, 1, 2, 3, 4]
range(1,5) #代表从1到5(不包含5) ===>[1, 2, 3, 4]
range(1,5,2) #代表从1到5,间隔2(不包含5) ===>[1, 3]

enumerate()函数,可以在每次循环中同时得到下标和元素:

#例1:
S = 'abcdefghijk'
for (index,char) in enumerate(S):
print(index, char) #例2:
for i,j in enumerate(('a','b','c')):
print(i,j)
返回结果:
0 a
1 b
2 c

zip()函数的功能,就是从多个列表中,依次各取出一个元素。每次取出的(来自不同列表的)元素合成一个元组,合并成的元组放入zip()返回的列表中。

#例:
ta = [1,2,3]
tb = [9,8,7]
tc = ['a','b','c']
for (a,b,c) in zip(ta,tb,tc):
print(a,b,c)

lambda函数也叫匿名函数,即,函数没有具体的名称。

#例:
def f(x):
return x**2
print f(4)
Python中使用lambda的话,写成这样
g = lambda x : x**2
print g(4)

map()函数会根据提供的函数对指定序列做映射

#例:
re = map(lambda x: x ** 2, [1, 2, 3, 4, 5])
print(list(re))
返回结果为:
[1, 4, 9, 16, 25]

filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

#例:
def func(a):
if a > 100:
return False
else:
return True
re = filter(func, [12, 434, 665, 5])
print(list(re)) #结果为:(保留返回值为True的元素)
[12, 5]

reduce()函数中function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。

#例:
from functools import reduce #在Python 3里,reduce()函数已经被从全局名字空间里移除了,需要从fucntools模块引用
print(reduce((lambda x, y: x + y), [1, 2, 5, 7, 9])) #返回结果为:
24 #上面例子,相当于(((1+2)+5)+7)+9

文件读写

格式

f = open(filename,mode)

mode:

r: #以读方式打开文件,可读取文件信息。

w: #以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容

a: #以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建

r+:#以读写方式打开文件,可对文件进行读和写操作。

w+:#消除文件内容,然后以读写方式打开文件。

a+:#以读写方式打开文件,并把文件指针移到文件尾。

b: #以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。

读操作

f.read([count]):#读出文件,如果有count,则读出count个字节。

f.readline():#读出一行信息。

f.readlines():#读出所有行,也就是读出整个文件的信息。

写操作

f.write(string):#把string字符串写入文件。

f.writelines(list):#把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。

关闭

f.close():#关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。

其他

f.seek(offset[,where]):#把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。

f.fileno():#获得文件描述符,是一个数字

f.flush():#刷新输出缓存

f.isatty():#如果文件是一个交互终端,则返回True,否则返回False。

f.tell():#获得文件指针位置。

f.truncate([size]):#截取文件,使文件的大小为size。

运算符

算数运算符:+, -, *, /, **, %

比较运算符:==, !=, >, >=, <, <=, in

逻辑运算符:and, or, not

进制

获取内存地址的十进制和十六进制表示。

a = 1
print(id(a))
print(hex(id(a))) #返回结果:
11246696
'0xab9c68'

python基础知识点整理的更多相关文章

  1. Python基础知识点整理(详细)

    Python知识点整理(详细) 输出函数 print()可以向屏幕打印内容,或者在打开指定文件后,向文件中输入内容 输入函数 input([prompt])[prompt] 为输入的提示字符.该函数返 ...

  2. python 基础知识点整理 和详细应用

    Python教程 Python是一种简单易学,功能强大的编程语言.它包含了高效的高级数据结构和简单而有效的方法,面向对象编程.Python优雅的语法,动态类型,以及它天然的解释能力,使其成为理想的语言 ...

  3. 最全Python基础知识点梳理

    本文主要介绍一些平时经常会用到的python基础知识点,用于加深印象,也算是对于学习这门语言的一个总结与回顾.python的详细语法介绍可以查看官方编程手册,也有一些在线网站可以学习 python语言 ...

  4. HTML&&CSS基础知识点整理

    HTML&&CSS基础知识点整理 一.WEB标准:一系列标准的集合 1. 结构(Structure):html 语言:XHTML[可扩展超文本标识语言]和XML[可扩展标记语言] 2. ...

  5. TypeScript 基础知识点整理

    一.TypeScript的特点 1.支持ES6规范 2.强大的IDE支持(集成开发环境) 允许为变量指定类型,减少你在开发阶段犯错误的几率. 语法提示,在IDE编写代码时,它会根据你所处的上下文把你能 ...

  6. 【Android 面试基础知识点整理】

    针对Android面试中常见的一些知识点整理,Max 仅仅是个搬运工.感谢本文中引用文章的各位作者,给大家分享了这么多优秀文章.对于当中的解析,是原作者个人见解,有错误和不准确的地方,也请大家积极指正 ...

  7. Python基础知识点小结

    1.Python基础知识 在Python中的两种注释方法,分别是#注释和引号('''   ''')注释,#注释类似于C语言中的//注释,引号注释类似于C语言中的/*   */注释.接着在Python中 ...

  8. Python基础知识点总结

    Python基础知识与常用数据类型 一.Python概述: 1.1.Python的特点: 1.Python是一门面向对象的语言,在Python中一切皆对象 2.Python是一门解释性语言 3.Pyt ...

  9. Python基础知识点

    自学记录: 1.字符串 python中单引号和双引号使用完全相同. 使用三引号('''或""")可以指定一个多行字符串. 转义符 '\' 反斜杠可以用来转义,使用r可以让 ...

随机推荐

  1. Jenkins - 持续集成环境搭建

    1. Jenkins 概述 Jenkins是一个开源的持续集成工具.持续集成主要功能是进行自动化的构建.自动化构建包括自动编译.发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件. 2 ...

  2. PHP生成二维码图片

    下载二维码文件:http://files.cnblogs.com/isboy/qr_code.zip 需要加入的HTML:<img id="js_pc_qr_code_img" ...

  3. 字符编码详解及由来(UNICODE,UTF-8,GBK)[转帖]

    相信許多人對字符編碼都不是很了解,透過下文可以清晰的理解各种字符编码方式详解及由来. 一直对字符的各种编码方式懵懵懂懂,什么ANSI.UNICODE.UTF-8.GB2312.GBK.DBCS.UCS ...

  4. 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试

    Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...

  5. android安全测试 APP要点解析

    评估思路 移动APP面临的威胁 风起云涌的高科技时代,随着智能手机和iPad等移动终端设备的普及,人们逐渐习惯了使用应用客户端上网的方式,而智能终端的普及不仅推动了移动互联网的发展,也带来了移动应用的 ...

  6. lua userdata

    #define metatablename "studentlib.06-11-11" /** * utility functions */ static int pusherro ...

  7. 2-Spark高级数据分析-第二章 用Scala和Spark进行数据分析

    数据清洗时数据科学项目的第一步,往往也是最重要的一步. 本章主要做数据统计(总数.最大值.最小值.平均值.标准偏差)和判断记录匹配程度. Spark编程模型 编写Spark程序通常包括一系列相关步骤: ...

  8. 矩阵分解ALS方法

    目标函数 优化目标函数 利用坐标下降法,依次更新u和v的值.u和v的先后顺序无所谓,只要保证两者是交替更新的就好.这种方法又称为alternating least squares(ALS). 增加偏置 ...

  9. PHP的学习--PHP加密

    PHP中的加密方式有如下几种 1. MD5加密 string md5 ( string $str [, bool $raw_output = false ] ) 参数 str  --  原始字符串. ...

  10. Ionic2学习笔记

    Component nav: <ion-nav [root] = 'rootComponent'></ion-nav> ....import {Nav} from 'ionic ...