Python中关于list、tuple、字符串的比较
admin
2023-01-20 09:43:14
0

List定义及常用的方法见上一篇博客。

 

Tuple

元组tuple的定义:

            tuple是一个有序的元素组成的不可变对象的集合,使用小括号()表示,是可迭代对象

 

元组中数据的访问

            支持索引(下标访问)

            正负所有索引不可以超界,否则引起IndexError报错

元组通过索引访问

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

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

                   index是使用值查找,从指定区间指定区间查找元组内的元素是否匹配,匹配到第一个就立即返回索引,找不到就抛出valueError异常时间复杂度为O(n)

        count(value)

                  返回元组中值的个数,需要遍历整个元组,时间复杂都为O(n)

 

        len(tuple)

                   返回元组中元素的个数。


由于元组是只读的,所以增,改,删方法都没有

 

字符串


字符串的定义

            字符串是一个个字符的集合,是一个有序的序列,使用单引号,双引号,三引号引住的字符序列,字符串是不可变对象,可以索引,可以迭代。从python3起,字符串是Unicode类型

 

字符串元素的访问可通过下标访问。

 

字符串的连接

            join()            “string”.join(iterable)

                    将可迭代对象连接起来,使用指定的string作为分割符,返回一个新的字符串

 

            +

                    将两个字符串连接起来,生成一个新的字符串,空间占用翻倍

 

字符串的分割分成两部分split系和partition系

split :将字符串按照分割符分割成若个个字符串,并返回列表。

         split(seq=None,maxaplit=)是从左至右进行切割,可以指定分割字符串,在不指定的情况下默认是空白字符左分割符,还可以指定分割的次数,-1表示遍历整个字符串

        rsplit (seq=None,maxsplit=-1)是从右至左进行切割,用法同split一样。

        splitlines([keepends])  是按照行来进行切分字符串,keepends指的是否保留行分割符,行分割符包括\n,\r\n,\r

partition:将字符串按照分割符分割成两端,返回2段和分割符的元组

       partition(seq):从左至右,遇到分割符就把字符串分割为两部分,返回头,分隔符,尾三部分的三元组,没有找到分割符,就返回头,空的分割,空尾的三元组。必须指定seq

       Rpartition(seq):从右至左,遇到分割符就把字符串分割成两部分,和partition用法一样。

 

字符串针对于英文的一些方法:

        upper() 全大写

        lower() 全小写

        swapcase() 交换大小写

        title() 标题的每个单词都大写

        capitalized()首个单词大写

        center(width[,fillchar]) 以长度为宽度的字符串为中心返回,使用指定的fillchar完成填充

        zfill(width) 返回一个字符串,左边右ASCII ‘0’填充的字符串,居右,左边右0填充。

        ljust(width[,fillchar]) 左对齐

        rjust(width[,fillchar]) 右对齐

 

字符串的查找及修改(字符串不可变,原字符串不修改)

“修改”:

        replace(old,new,[,count])字符串中找到匹配替换为新字串,放回新字符串,可以指定替换几次,不指定就是所有匹配的都替换

        strip([chars])从字符串两端去除指定的字符集chars中的所有字符,不指定chats,去除两端的空白字符

        lstrip([chars])从左边开始

        rstrip ([chars]) 从右边开始

 

字符串的查找:

        find(sub[,start[,end]])

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

        rfind(sub[,start[,end]])

                  在指定的区间从右至左,和find一样

        index(sub[,start[,end]])

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

        rIndex(sub[,start[,end]])

                  在指定的区间[start,end]从左至右,查找字串sub,和index使用一样

        len()   返回字符串中字符的个数

        count(sub[,start[,end]])

                   在指定的区间[start,[end]],从左至右,统计字串sub出现的次数


字符串的判断:

        endswith(suffix[,start[,end]])

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

        startswith(prefix[,start[,end]])

                   在指定的区间[start,end],字符串是否是prefix开头

        isalnum() 是否是数字和字母的组成

        isalpha()  是否是字母

        isdecimal() 是否只包含十进制数字

        isdigit()  是否全部是数字(0~9)

        isifentifier() 是不是字母和下划线开头,其他都是字母,数字,下划线

        islower  是否都是小写

        isupper() 是否都是大写

        isspace() 是否只包含空白字符

 

字符串的格式化:

在python3中,字符串的格式化鼓励使用format()函数

    format()函数格式字符串语法

        “{}{XXX}”.format(*args,**kwargs) 返回一个字符串args是位置参数,是一个元组,kwargs是关键字参数,是一个字典。花括号表示占位符,{}表示按照顺序匹配位置参数,{n}表示取位置参数索引位n的值。{XXX}表示在关键字参数中搜索名称一致的。{{}}表示打印花括号。

 

    format()函数中使用的参数

        位置参数

                就是按照位置顺序用位置参数替换前面的格式化字符串的占位符

 

         关键字符参数或命名参数

                位置参数按照序号匹配,关键字参数按照名称匹配

 

          访问元素

                 “{0[0].}{0[1]}’.format((‘www’,’dsfa’))

                    对象属性访问

                    可以直接访问对象的属性

 

          可以直接使用对齐方式:

                    <  左对齐

                    >右对齐

                    ^居中对齐


List

tuple

字符串

可变对象

不可变对象

不可变对象

使用[]

使用()

使用‘’,“”,“”“”

可迭代对象

可迭代对象

可迭代对象

有序的序列,可以索引

有序的序列,可以索引

有序的序列,可以索引

index(value,[start,[ends]])

index(value,[start,[ends]])

index(sub,[start,[ends]])   rIndex(sub,[start,[ends]])

find(sub,[start,[ends]])

rfind(sub,[start,[ends]])

count(value)

count(value)

count(sub,[start,[ends]])

len(list)

len(tuple)

len(str)

append(object)


replace(old,new,[,count])

insert(index,object)


lstrip([chars])

rstrip ([chars])

extend(iteratable)



+


+

*


*

remove()



pop()



clear()



reverse()



sort()



in

in

in



join

 



split()



rsplit()



splitlines()



partition()



rpartition()



upper()



lower()



swapcase()



Title(),capitalize(),center(),zfill(),ljust(),rjust()


相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...