python内置数据结构

python内置数据结构

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

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

resverstrue,反转,降序

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 之间的随机数

Choiceseq)从非空序列的元素中随机挑选一个元素,比如random.choicerange10)),从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

Indexvalue[start,[stop]]

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

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

匹配不到就抛出异常valueerror

Count(value)

返回列表中匹配value的次数

时间复杂度

Indexcount方法都是On

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

Lentuple

反回元素的个数

杨辉三角

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  = listsql

字符串join连接

string.join(iterable) -> str

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

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

返回一个新的字符串

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

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

print(” “.join(lst))

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

字符串分割

分割字符串的方法分为2

Split

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

Partition

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

Rsplitsep=nonemaxsplit= -1-> lsit of strings

从右到左

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

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

字符串大小写

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

Tile() -> str

标题的每个单词都大小写

capitalize()->首个单词大写

Centerwidth[,fillchar]->str

Width 打印宽度

Fillchar 填充的字符

字符串修改

replaceoldnew[,count]->str

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

字符串查找*

findsub[start[,end]]—> int

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

Rfindsub[start[end]]—> int

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

Indexsub[start[end]])  –>int

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

rIndexsub[start[end]])  –>int

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

字符串判断

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

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

Startswithprefix[start,end]]—>bool

在指定的区间tartend   字符串是否以prefix开头

 

 

 

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

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

相关推荐

  • 第一周作业

    linux基础

    Python笔记 2018-05-12
  • Python数据结构

    数据结构个人总结,方便以后查找。

    Python笔记 2018-04-01
  • 文件操作

    文件操作 冯诺依曼体系架构 CPU由运算器和控制器组成 运算器,完成各种算数的运算,逻辑运算,数据传输等数据加工处理 控制器,控制程序的执行 存储器,用于记忆程序的数据,列如内存 输入设备,将数据或者程序输入到计算机中列如键盘 鼠标 输出设备,将数据或者程序的处理结果展示给用户,列如显示器,打印机等等   一般说的IO操作,指的是文件的IO,如果是指网络的I…

    Python笔记 2018-05-02
  • Python内置数据结构

    解析器和生成器

    Python笔记 2018-04-08
  • 函数与生成器

    函数 由若干语句组成的语句块,函数名,参数列表构成,是组织代码的最小单元,完成一定的功能,结构化编程对代码的最基本的封装,封装的目的是为了复用 函数中没有return,隐式会返回一个none值 定义中的参数列表成为形式参数,只是一种形式表达,简称形参 调用时写的参数是实际参数,是实实在在传入的值,简称实参 函数的定义,只是声明了参数,不会执行,可以进行调用,…

    2018-04-16
  • Python第二周小结

    不知不觉已经正式学习接触Python两周了,第二周主要开始了Python内置数据结构的学习,包括从一开始的列表list,元组tuple,字符串string,再到后来的bytes, bytearray, 以及最后的集合set。这些数据结构可以说Python最为基础的几种类型,想要用Python写出漂亮的代码离不开对他们的熟练掌握与深刻理解。这几个结构各有各的特…

    Python笔记 2018-03-31