python基础之数据结构

一、序列

  1、序列是一组按照顺序排列的值【数据集合】;

  2、在python中,存在三种内置的序列类型:字符串、列表、元组

  3、支持索引、切片操作;

  4、索引:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端;

  5、切片:截取字符串中的一段内容

    ①使用语法[起始下标:结束下标:步长]

    ②左闭右开,不包含结束下标对应的数据;

    ③步长指的是隔几个下标获取一个字符,默认为1

二、字符串及常用方法

  1、字符串常用方法

    ①格式化:首字母大写capitalize,大写变小写小写变大写swapcase,每个单词首字母大写title,移除左/右/两侧空白lstrip/rstrip/strip,大小写转换lower/uper;[5]

    ②判断内容:判断是否是字母和数字isalnum,判断是否是字母isalpha,判断是否是数字isdigit,判断是否是小写islower,判断是否以xx结束/开始endwith/startwith;[5]

    ③连接:循环取出所有值,用xx去连接join;

      string.join(seq)

      以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

    ④替换:replace(被替换字符串,替换字符串,换多少个[默认全部替换])

      string.replace(str1, str2,  num=string.count(str1))

      把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

    ⑤查找:检测对象是否在字符串中find(没找到返回-1)、index;

      string.find(str, beg=0, end=len(string))

      检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

    ⑥切割:切割字符串split;

      string.split(str="", num=string.count(str))

      以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串

    ⑦计数:统计对象出现次数count

      string.count(str, beg=0, end=len(string))

      返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

#字符串的常用方法
str = ' hello World ! '
print('首字母大写:%s'%str.capitalize())
print('大小写互换:%s'%str.swapcase())
print('每个单词首字母大写:%s'%str.title())
print('移除两侧空白:%s'%str.strip())
print('是否是数字:%s'%str.isdigit())
print('是否是字母:%s'%str.isalpha())
print('是否是字母和数字:%s'%str.isalnum())
print('是否是小写:%s'%str.islower())
print('是否以!结束:%s'%str.endswith('!'))
print('是否是字母和数字:%s'%str.isalnum())
print('连接:%s'%'-'.join(str))
print('替换:%s'%str.replace('l','t',2))
print('查找:%s'%str.find('o'))
print('切割:%s'%str.split(' ',2))
print('计数:%s'%str.count('l'))

首字母大写: hello world ! 
大小写互换: HELLO wORLD ! 
每个单词首字母大写: Hello World ! 
移除两侧空白:hello World !
是否是数字:False
是否是字母:False
是否是字母和数字:False
是否是小写:False
是否以!结束:False
是否是字母和数字:False
连接: -h-e-l-l-o- -W-o-r-l-d- -!- 
替换: hetto World ! 
查找:5
切割:['', 'hello', 'World ! ']
计数:3

 

  2、切片操作

 

二、列表及常用方法

  1、支持增删改查、索引、切片;

  2、列表中的数据可以变化,内存之地不会改变;

  3、[,,,],列表中的数据项可以是任何类型的数据;

  4、常用方法

    ①增:列表后面追加append、批量添加extend、指定位置插入insert;

    ②删:删除最后一个元素pop、移除左边找到的第一个元素remove、批量删除del;

    ③查:获取指定元素索引号index;

    ④统计:统计元素出现的次数count、最大元素max、最小元素min、元素个数len、

    ⑤排序:反转列表reverse、列表排序sort

  

三、元组

  1、不可变序列,创建之后不能做任何修改;

  2、(,,,),数据项可以是任何类型;

  3、当元组中只有一个元素时,要加上逗号,否则解释器会当作整型处理;

  4、常用方法-类似列表

 

四、字典及常用方法

  1、可以存储任意对象;

  2、以键值对的形式创建,不是序列类型,无序的键值集合,没有下标概念;

  3、键不能重复、值可以重复;

  4、键只能是不可变类型,如数字、字符串、元组;

  5、常用方法

    ①增:新增元素:

    ②删:del/pop删除指定键、删除元素

    ③改:修改元素update

    ④查:获取键keys、获取值values、获取键值对items

    ⑤排序:sorted

dictA = {'name':'张三','age':'18','sex':'','nickname':'法外狂徒'}
print(dictA)
print('按key排序:%s'%sorted(dictA.items(),key=lambda d:d[0]))
print('按value排序:%s'%sorted(dictA.items(),key=lambda d:d[1]))

{'name': '张三', 'age': '18', 'sex': '', 'nickname': '法外狂徒'}
按key排序:[('age', '18'), ('name', '张三'), ('nickname', '法外狂徒'), ('sex', '')]
按value排序:[('age', '18'), ('name', '张三'), ('nickname', '法外狂徒'), ('sex', '')]

 

五、共有操作

  1、合并:两个对象相加,会合并两个对象,适用于字符串、列表、元组;

  2、复制:对象自身按指定次数进行复制,适用于字符串、列表、元组;

  3、判断元素是否存在:in,适用于字符串、列表、元组、字典;

 

posted @ 2021-01-12 15:21  5947  阅读(156)  评论(0)    收藏  举报