【Python基础语法】列表、元组与字符串——知识点与常用方法总结

列表

  1. len() 方法:返回对象(字符、列表、元组等)长度或项目个数。

  2. append():添加元素在尾部,append()一次只能添加一个元素。

  3. extend():使用一个列表来扩充另一个列表,也是添加到尾部。

    • 区别:append() 方法是将参数作为一个元素增加到列表的末尾。extend() 方法则是将参数作为一个列表去扩展列表的末尾。
  4. insert():有两个参数,第一个参数是插入的位置,第二个参数是插入的元素

  5. 从列表中删除元素

    • remove():member.remove(‘小甲鱼’)
    • del:del.member[1]
    • pop():
      • member.pop(),是删除列表的最后一个元素,并返回该元素
      • member.pop(索引值),是删除列表的索引值位置的一个元素,并返回该元素
  6. 列表的一些内置函数BIF

    list.count(a):列表list中元素a出现的次数;

    list.index(a):列表list中元素a第一次出现的索引号

    list.index(a,b,c):列表list中元素a在索引范围[b,c]中第一次出现的索引号

    list.reverse():翻转list

    list.sort():排序,默认从小到大排序

    list.sort(reverse=True):从大到小排序

  7. copy() 方法:跟使用切片拷贝是一样的

    • **直接赋值:**其实就是对象的引用(别名)。
    • **浅拷贝(copy):**拷贝父对象,不会拷贝对象的内部的子对象。
    • 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。深度拷贝需要引入 copy 模块
  8. clear() 方法:用于清空列表的元素,但要注意,清空完后列表仍然还在,只是变成一个空列表。

  9. 列表推导式(List comprehensions)也叫列表解析,可以用来动态的创建列表,语法如:[有关A的表达式 for A in B]

元组

  1. 创建和访问一个元组:标志是逗号,有没有括号无所谓。想要创建一个空元组,就是temp = ( ),对于只有一个元素的元组,需要这样:temp = (1,),这里逗号不可少,括号可以不要。

  2. 对于元组而言,单独删除一个元素是不可能的,但是可以利用切片的方式来间接的删除或增加一个元素。

  3. 元组可以使用的方法:只有count()和index()

  4. 解包:可以在赋值运算符 (=) 的左侧放置一个变量元组,在右侧放置一个值元组。 右边的值将根据它们在元组中的位置自动分配给左边的变量。 这在 Python 中通常称为元组解包。

  5. 打包:打包可以理解为使用可迭代解包运算符在单个变量中收集多个值。在这种情况下, * 运算符被称为元组(或可迭代)解包运算符。 它扩展了解包功能,允许在单个变量中收集或打包多个值。

    a, b, *c = 1, 2, 3, 4, 5
    print(a, b, c)
    # 1 2 [3, 4, 5]
    

字符串

  1. Python的字符串内建函数:

    方法描述
    string.capitalize()把字符串的第一个字符大写
    string.center(width)返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
    string.count(str, beg=0, end=len(string))返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
    string.endswith(obj, beg=0, end=len(string))检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
    string.expandtabs(tabsize=8)把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。
    string.find(str, beg=0, end=len(string))检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
    string.format()格式化字符串
    string.index(str, beg=0, end=len(string))跟find()方法一样,只不过如果str不在 string中会报一个异常.
    string.isalnum()如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
    string.isalpha()如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
    string.isdecimal()如果 string 只包含十进制数字则返回 True 否则返回 False.
    string.isdigit()如果 string 只包含数字则返回 True 否则返回 False.
    string.islower()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
    string.isnumeric()如果 string 中只包含数字字符,则返回 True,否则返回 False
    string.isspace()如果 string 中只包含空格,则返回 True,否则返回 False.
    string.istitle()如果 string 是标题化的(见 title())则返回 True,否则返回 False
    string.isupper()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
    string.join(seq)以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
    string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
    string.lower()转换 string 中所有大写字符为小写.
    string.lstrip()截掉 string 左边的空格
    string.maketrans(intab, outtab)maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
    string.partition(str)有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.
    string.replace(str1, str2, num=string.count(str1))把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
    string.rfind(str, beg=0,end=len(string) )类似于 find() 函数,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。
    string.rindex( str, beg=0,end=len(string))类似于 index(),不过是返回最后一个匹配到的子字符串的索引号。
    string.rjust(width)返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
    string.rpartition(str)类似于 partition()函数,不过是从右边开始查找
    string.rstrip()删除 string 字符串末尾的空格.
    string.split(str=“”, num=string.count(str))以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+1 个子字符串
    [string.splitlines(keepends])按照行(‘\r’, ‘\r\n’, ‘\n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
    string.startswith(obj, beg=0,end=len(string))检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.
    [string.strip(obj])在 string 上执行 lstrip()和 rstrip()
    string.swapcase()翻转 string 中的大小写
    string.title()返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
    string.translate(str, del=“”)根据 str 给出的表(包含 256 个字符)转换 string 的字符,要过滤掉的字符放到 del 参数中
    string.upper()转换 string 中的小写字母为大写
    string.zfill(width)返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0
  2. format格式化函数:format 函数可以接受不限个参数,位置可以不按顺序。也可以设置参数

    >>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
    'hello world'
     
    >>> "{0} {1}".format("hello", "world")  # 设置指定位置
    'hello world'
     
    >>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
    'world hello world'
    
  3. str.format() 格式化数字的多种方法:

    ^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

    + 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格

    b、d、o、x 分别是二进制、十进制、八进制、十六进制。

    此外我们可以使用大括号 {} 来转义大括号

  4. f-string:用大括号{ }表示被替换字段,其中直接填入替换内容即可。

序列

  1. 列表、元组和字符串的共同点:

    • 都可以通过索引得到每一个元素
    • 默认索引值总是从0开始,也支持负数索引,从-1开始
    • 可以通过分片的方式得到一个范围内的元素的集合
    • 有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
  2. 序列常用的BIF

    • list(iterable)把一个可迭代对象转换为列表
    • tuple(iterable)把一个可迭代对象转换为元组
    • str(sub)把对象转换为字符串
    • len(iterable)返回长度
    • max(…)返回序列或者参数集合中的最大值
    • min(…)返回序列或者参数集合中的最小值
    • sum(iterable[,start = 0])返回序列iterable和可选参数start的总和
    • sorted(iterable)排序,默认从小到大排序,与list.sort()类似
    • reversed(iterable)返回的是一个迭代器对象,通过list(reversed(iterable))可以得到iterable的倒序
    • enumerate(iterable),枚举,生成由每个元素的index值和元素值组成的元组。也是一个对象。
    • zip()打包,返回由各个参数的序列组成的元组。(成对打包)
    • map() 根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
    • filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。如果第一个参数为None,则返回所有True的元素。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月出天山_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值