10 - 序列类型操作总结

字符串

1.查

  • 使用下标或者切片

  • find、rfind、index:查找单个字符

2.改

  • replace:替换字符串中指定的内容
  • split:以指定字符串为分隔符切片
  • upper、lower、capitalize、title:大小写转化
  • rjust、ljust、center:补空白字符将字符串对齐

3.删

  • strip:删除两端空白字符

4.增

  • join:把参数进行遍历,取出参数里的每一项,然后再在每一项(除最后一项)后面加上指定字符(参数为序列)
  • +:字符串的拼接

6.判断

  • startswith、endswith
  • isdigit、isalpha、isalnum、isspace、islower、isupper

列表

1.创建

  • 列表名 = []、列表名 = [1,'str',[2,3],(1,),{'key':2},True]

2.查

  • 下标和切片
  • index
  • 利用for和while来遍历

3.增

  • append:添加单个元素
  • extend:合并
  • insert(index,object):在指定位置index前插入元素object

4.删

  • pop:按下标删除

  • remove:按元素的值或元素赋给的变量名删除

  • del,clear:del可根据指定下标删除也可全部删除

    注意:删除时下标会变,找对方法

5.改

  • 通过下标或切片直接赋值修改

  • join:将列表改为字符串

6.复制

  • copy:复制后新生一个列表
  • =:复制后共用一个地址

7.排序和逆序

  • sort
  • reverse

元组

1.创建

  • tuple1 = ('a',)

2.查

  • 根据下标或切片
  • index
  • 遍历

3.删

  • del、clear:只能整体删除

字典

1.创建

  • dict1 =
  • fromkey:dict.fromkeys(['a','b','c'],1),通过key来创建,所有key对应的value相同

2.查

  • 字典名[key]:根据key查value

  • get(key):根据key查value

  • values:查所有vlaue

  • keys:查所有key

  • items:查所有(key,value) -- 每一键值对用元组存放

    以上的查所有返回的结果为列表

  • 遍历key,value和(key,value):

    • for i in dict1:遍历所有key组成的列表
    • for i in dict1.values():遍历所有value组成的列表
    • for i in dict1.items():遍历(key,value) 以元组的形式成对
    • for k,v in dict1.items():遍历key、value ----key存到k,value存到v

3.改

  • 字典名[key] = value:通过key改对应value,但key一定要存在

4.增

  • 变量名[key] = value:key不存在会新增
  • setdefault(不常用):dict1.setdefault(key,value)
  • update:合并

5.删

  • pop:通过key删除
  • popitem:默认从后往前删
  • del:可通过key删除、也可删除全部
  • clear

集合

1.创建

  • set1 =
  • set():只能用此方法创建空列表

2.查

  • 无查询操作,因为不支持下标,切片等。需要转化为列表再查

3.增

  • add:只支持添加单个元素,有则不操作
  • update:元素类型可以是任意类型的

4.删

  • discard:将元素移除
  • remove:会报错
  • pop:随机删除一个元素
  • del,clear:只能删除整体

5.交、并、差集

  • intersection
  • union
  • difference

共有的方法

1.计数

  • count:返回 指定字符或字符串在start和end之间在源字符串中出现的次数

    注意:字典,集合没有count方法

  • len

2.判断存在某元素

  • in、not in

2.各类型间的转化

  • 列表、元组、集合间可以任意互转

  • 字典转其他类型:可以转,但是只是将字典的键放到了 [] () {} ,而值没有

  • 其他类型转字典:类型中的元素必须成对才可以转,记忆特殊的即可

    list ----> dict

    特殊要求:

    list1 = [('a',10),['b',20],{'c',30},['a',[1,2,3]]]     #元素有元组、列表、集合类型。不能是字典类型
    print(dict(list1))    #{'a': [1, 2, 3], 'b': 20, 'c': 30}
    

    说明:只要这种成对出现的类型都可以,但是唯独字典{'d':1}不行,而且如果后面出现的key与前面有重复的,就会替换值


序列类型相关方法的补充

1.enumerate()

  • 用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标

    seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    list(enumerate(seasons))  #[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
    

2.zip()

  • 用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

    a = [1,2,3]
    b = [4,5,6]
    c = [4,5,6,7,8]
    zip(a,b)     # [(1, 4), (2, 5), (3, 6)]  打包为元组的列表
    zip(a,c)      # [(1, 4), (2, 5), (3, 6)]  元素个数与最短的列表一致
    

3.reduce()

  • reduce() 函数会对参数序列中元素进行累积。函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

    from functools import reduce
    
    def add(x, y) :            # 两数相加
        return x + y
    sum1 = reduce(add, [1,2,3,4,5])   # 计算列表和:1+2+3+4+5
    sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5])  # 使用 lambda 匿名函数
    print(sum1) #15
    print(sum2)
    
posted @ 2021-10-14 19:01  深藏Bluee  阅读(62)  评论(0)    收藏  举报