Python中关于list、tuple、字符串的比较-创新互联
List定义及常用的方法见上一篇博客。
成都创新互联公司是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的10余年时间我们累计服务了上千家以及全国政企客户,如PE包装袋等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致称扬。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() |
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站名称:Python中关于list、tuple、字符串的比较-创新互联
本文网址:http://ybzwz.com/article/dggppi.html