您的位置:首页 > 理论基础 > 数据结构算法

python3 一些经常使用的数据结构和内置方法。

2017-09-16 14:58 405 查看
(一)输出

print(a,b,c,sep="$",end="*")   # 参数sep指定输出分隔符,参数end指定输出结尾,默认是换行。

(二)数字

int('111', n)    # 按照 n 进制将一个字符串转换为整数。默认十进制。

bin()    # 转换为二进制

oct()    # 转换为八进制

hex()   # 转换为十六进制

complex(实部,虚部)    #复数常量

~     # 按位取反

**    # 幂运算

(三)数学函数

内置: abs()    # 绝对值    

            chr(65)    # 返回整数对应的ASCLL码的字符

            ord('A')    # 返回字符对应的ASCLL码

            divmod(9,4)    # 返回商和余数(2,1)

            max(a,b,c,d)   # 返回最大值              min(a,b,c,d)    # 返回最小值

            pow(x,y)      # 返回 x 的 y 次方 ,相当于 x**y

            round(1.56)   # 四舍五入      round(1.566, 2)   # 四舍五入,保留2位小数

            sum({1,2,3,3})   # 求和

math 模块函数

import math

math.pi  math.e math.inf  # 圆周率,常量e,正无穷大

math.factorial(x)    # 返回非负数 x 的阶乘

math.gcd(12, 8)    # 返回 x 与 y 的最大公约数

(四)集合:可迭代对象,集合元素是唯一的,无序和不可改变的。

初始化方式:  x = {1,2,3}     x = set({1,2,3})    x = set([1,2,3])    set("123abc")

set可以选择可迭代对象做参数,集合中元素不可以重复。

运算:

x = {1,2,3}

len(x)   # 求元素个数       1 in  x   # 是否属于

x - y     # 差集          x | y     # 并集         x & y   # 交集 

x ^ y    # 对称差集  x 有 y 没有,  y 有 x 没有的。           x < y       # 判断子集

x.copy()  # 复制集合对象

x.add()   # 添加一个元素

x.update()      #  添加多个元素

x.remove()     #  删除指定元素

x.discard()     #   删除指定元素

x.pop()          #  随机删除一个元素,并且返回该元素。

x.clear()        #   删除全部元素

(五)字符串,可迭代对象

基本操作,长度(len),包含性判断(in),连接(+),迭代(for x in str:),索引(从0开始),切片(x [ start: end: step ])。

字符串方法:

count(sub,start,end)    # 从start 到 end ,sub 出现的次数

endwith(sub,start,end)   startwith(sub,start,end)  #  是否以参数结尾/开始

expandtabs(tabsize=8)   # 将 Tab 替换为空格

find(sub,start,end)         # 返回第一次出现的偏移量,没找到返回 -1

index(sub,start,end)       # 返回第一次出现的偏移量,没找到返回 ValueError

rfind(sub,start,end)         # 返回最后一次出现的偏移量,没找到返回 -1

rindex(sub,start,end)       # 返回最后一次出现的偏移量,没找到返回 ValueError

isalnum(),数字或字母; isalpha(),全是字母; isdecimal(),全是数字; isdigit(),全是数字; islower()  isupper()  isspace()

lower(), upper(),大小写转换

partition(sep)    #  字符串被分为三部分,sep 之前,sep ,sep之后

replace(old,new,count)        # 将 old 用 new 替换,替换次数count,默认全部替换

split(sep, maxsplit)              # 将字符串以 sep 指定的分隔字符分解,返回分割后的列表,maxsplit 指定分割次数

swapcase()             #  大小写互换

(六)列表,有序的可迭代对象

基本操作:
创建:x = [], x = list(),x = list(range(-2,3)),x = list((1,2,3)),x = list("abcsjk");

长度:len();

合并:[1,2,2] + ["abc",20];

重复:[1,2]*3        # [1,2,1,2,1,2];

迭代:for x in list:     ;

关系判断: 2 in [1,2,3] ;

索引:从0开始;

分片:x[start : end : step]   # step为负数,按相反顺序获得对象;x[2 : 5] = "abc"  # 分片替换多个对象,将2,3,4分别替换为a,b,c

矩阵:x = [[1,2,3],[4,5,6],[7,8,9]]     x = [[] for x in range(n)]   # 初始化

常用方法: 

在末尾添加对象:单个,append(a);多个 extend([a,b]);

指定位置插入对象:insert(0, "a");

按值删除对象:remove();

按位置删除对象:pop(),默认删除最后一个;

删除指定位置或分片:del x[0],del([2 : 5]);

删除全部:clear()

复制列表:copy();  列表排序sort();翻转对象:reverse();

(七)元组,不可改变,不能删除,也不可以添加

创建元组:x = (),x = tuple(),

基本方法:长度(len()),合并(+),重复(*),迭代(for),关系判断(in),索引(0开始),分片([start : end : step])

元组方法:

count(x)    # 返回值定值 x 在元组中出现的次数 ;

index(value, start, end)     # 返回指定值在元组中第一次出现的位置。

(八)字典,无序的映射的集合

创建:d = {},d = dict(),d = {key : value},d = dict(key="", value="");

           d = dict.fromkey(['name','age']), d = dict.fromkey(['name','age'],0),d = dict.fromkey(‘abc’),d = dict.fromkey(‘abc’, 10);

           d = dict(zip(['name', 'age'], ['john', 25]))

长度(len),关系判断(in),索引(通过key)。

可以通过索引修改映射值:x = dict(name="Jhon", age=25),x[''age] = 30;

可以通过索引删除键值对:del x['name'],  #  x = {'age' : 30}

字典常用方法:

删除字典全部对象 :x.clear();

复制字典对象:x.copy();

get(key,default)   #  返回key 映射的值,如果key 不存在,返回控制,如果设定了参数defalut,则返回参数。

pop(key, default)  # 从字典中删除键,并返回映射值。

popitem()             #  删除并返回键值对,空字典调用会产生KeyError。默认删除字典中最后一组,key--value。

setdefault(key, default)    #  若key 存在则返回对应的 value,若 key 不存在,则添加该对 key -- value。

update(other)       #  用于添加键值对,参数other 可以是一个字典或者用复制格式表示的元组。若添加了已经存在的键值,其实就是修改。

字典视图:

item()   # 返回键值对的视图。

若 x = dict(name="Jhon", age=25);  y = x.item(); 则 y = dict_item([('age', 25), ('name', 'Jhon')]);注意:里面是一个list。

key()     #  返回字典中所有键的视图,跟item 相似。

value()   #  返回字典中全部值的视图,跟item 相似。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: