python内置数据结构

python内置数据结构

sort(key=none,resverse=false)—>none

对列表元素进行排序,就地修改。默认升序

resvers为true,反转,降序

key为一个函数,指定key如何排序

ls.sort(key=functionaame)

Print(lst.sort(key=str,reverse=Ture)

In

[3,4]in[1,2,[3,4]]

for x in [1,2,3,4]

列表复制

copy()  –> list

Shadow copy 返回一个新的列表

影子拷贝,也叫浅拷贝,遇到引用类型,只是复制了一个引用

深拷贝

copy模块提供了deepcopy

Import copy

Lst0 = [1,[2,3,5,],5]

Lst5 = copy.deepcopy(lst0)

Lst5[1][1] = 0

Lst5 == lst0

随机数

random模块

Randint(a,b)返回a b 之间的随机数

Choice(seq)从非空序列的元素中随机挑选一个元素,比如random.choice(range(10)),从09随机挑选一个整数

列表练习

求100以内的素数

#求100以内的素数

import math

lst = []

n = 100

for i in range(2,n):

    for j in lst:

        if not i%j:

            break

    else:

        print(i)

        lst.append(i)

元组tuple

一个有序的元素组成的集合

使用小括号()表示

元组是不可变的对象

元组元素的访问

支持索引(下标)

正索引:从左到右,从0开始,为列表中的每一个元素编号

负索引:从右到左,从负一开始

正负索引不可以超界,引发indexerror

Index(value,[start,[stop]])

通过value值,从指定区域查找列表内的元素是否匹配

匹配第一个就立即返回索引

匹配不到就抛出异常valueerror

Count(value)

返回列表中匹配value的次数

时间复杂度

Index和count方法都是O(n)

随着数据规模的增大,而效率下降

Len(tuple)

反回元素的个数

杨辉三角

1.

trangle = [[1],[1,1]]

n = 6

for i in range(2,n):

    newline = [1]

    pre = trangle[i-1]

    for j in range(i-1):

        val = pre[j] + pre[j+1]

        newline.append(val)

    newline.append(1)

    trangle.append(newline)

print(trangle)

2.

  n = 6

for i in range(n):

    newline = [1]

    if i == 0:

        print(newline)

        continue

    for j in range(i-1):

        val = pre[j] + pre[j+1]

        #print(val)

        newline.append(val)

        #print(newline)

    newline.append(1)

    print(newline)

    pre = newline

 

元组tuple

一个有序的元素组成的集合

使用小括号()表示

元祖是不可变的对象

定义:tuple() –>empty tuple

 Tuple(iterable) –>

元组元素的访问

支持索引

正索引:从左到右,从0开始,为列表中每一个元素编号

负索引:从右到左,从-1开始

正负索引不可以超界,否则引发indexerror

Tuple[index]  index就是索引,使用中括号访问

冒泡法

lst = [8,9,5,7,2,6,4,3,1,0]

lenth=len(lst)

for i in range(lenth):

    for j in range(lenth-i-1):

        if lst[j]>lst[j+1]:

            lst[j],lst[j+1]=lst[j+1],lst[j]

print(lst)

字符串

一个个字符串组成的有序的序列,是字符的集合

使用单引号,双引号,三引号住的字符串序列

字符串是不可变的对象

python3起,字符串就是Unicode类型

字符串元素访问—下标

sql = “select  *  from user where name=’tom’”

Sql[4]#字符串‘c’

Sql[4] = ‘o’

有序的字符集合。字符序列

For c in sql:

Print(c)

Print(type(c)) #什么类型

可迭代

Lst  = list(sql)

字符串join连接

“string”.join(iterable) -> str

将可迭代对象连接起来,使用string作为分隔符

可迭代对象本身元素都是字符串

返回一个新的字符串

lst = [‘1′,’2′,’3’]

print(“\””.join(lst))

print(” “.join(lst))

print(“\n”.join(lst))

字符串分割

分割字符串的方法分为2类

Split系

将字符串按照分隔符分成若干字符串,并返回列表

Partition系

将字符串按照分隔符分成2段,返回这两段和分隔符的元组

Rsplit(sep=none,maxsplit= -1)-> lsit of strings

从右到左

sep指定分割字符串,缺省的情况下空白字符串作为分割符

Maxsplit指定分割的次数,-1表示遍历整个字符串

字符串大小写

Upper()全大写  lower()全小写    swapcase()交互大小写

Tile() -> str

标题的每个单词都大小写

capitalize()->首个单词大写

Center(width[,fillchar])->str

Width 打印宽度

Fillchar 填充的字符

字符串修改

replace(old,new[,count])->str

字符串中找到匹配的替换为新的字符串,返回新字符串count表示替换几次,不指定默认全部

字符串查找*

find(sub[start[,end]]) —> int

在指定的区间[start,end],从左到右,查找字串sub。找到返回索引,没找到返回-1

Rfind(sub[start[end]]) —> int

在指定的区间[star,end],从右到左查找子串sub。找到返回索引,没找到返回-1

Index(sub[start[end]])  –>int

在指定的区间[start,end],从左到右查找子串sub,找到返回索引没找到抛出异常ValueError

rIndex(sub[start[end]])  –>int

在指定的区间[start,end],从左到右查找子串sub,找到返回索引没找到抛出异常

字符串判断

Endswith(suffix[start,end]])—–> bool

在指定的区间start,end 字符串是否以suffix结尾

Startswith(prefix[start,end]])—>bool

在指定的区间tart,end   字符串是否以prefix开头

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/93859

赞 (0)
zhangmengzhangmeng
上一篇 2018-03-31 09:32
下一篇 2018-03-31 10:17

相关推荐

  • python学习第七周个人总结

    LEGB、递归函数、匿名函数、生成器函数、生成器应用、高阶函数、柯里化、装饰器、类型注解、functools.个人总结,加深印象。

    2018-04-22
  • 二叉树的遍历和堆排序

    二叉树的遍历和堆排序

    Python笔记 2018-05-16
  • 函数执行过程和递归函数练习题

    函数执行过程和递归函数练习题

    2018-04-16
  • 装饰器

    装饰器 需求 一个加法函数,想增强它的功能,能够输出被调用过以及调用的参数信息 def add(x, y): return x + y 增加信息输出功能 def add(x, y): print(“call add, x + y”)  # 日志输出到控制台 return x + y p 上面的加法函数是完成了需求,但是有以下的缺点 打…

    Python笔记 2018-04-23
  • Python 部分知识点总结(九)

    此篇博客只是记录第十一周未掌握或不熟悉的知识点,用来加深印象。

    Python笔记 2018-05-21
  • Python函数

    函数 数学函数 Python函数 若干语句块、函数名称、参数列表构成,组织代码的最小单元 完成一定的功能 作用 结构化编程对代码的最基本的封装,一般按照功能组织一段代码 复用,减少冗余代码 简洁美观,可读易懂 函数分类 内建函数,max()、reversed() 库函数,math.ceil() 函数定义、调用 def语句定义函数 def 函数名(参数列表):…

    2018-04-16