Python中关于list、tuple、字符串的比较

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()

原文地址:http://blog.51cto.com/1502606/2158211

时间: 2024-07-31 14:47:24

Python中关于list、tuple、字符串的比较的相关文章

python中format函数用于字符串的格式化

python中format函数用于字符串的格式化 通过关键字 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 grade = {'name' : '陈某某', 'fenshu': '59'} print('{name}电工考了{fenshu}'.format(**grade))#通过关键字,可用字典当关键字传入值时,在字典前加**即可 通过位置 print('{1}今天{0}'.format('拍视频','陈某某'))#通过位置 print

Python中的list,tuple,dict和set

List list的创建与检索 Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 构造list非常简单,直接用 [ ] 把list的所有元素都括起来,就是一个list对象. Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据: 例如: >>> L = ['Michael', 100, True] list索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索

python中的数据类型及字符串操作

1. 基本数据类型概况 1, int 整数 2. str 字符串 3. bool 布尔值 4. list 列表. 一般存放大量的数据 ["门神xxxx", "风扇哥xxxx", 元素] 5. tuple 元组. 只读列表, 只能看啥也不能干. (元素, 元素) 6. dict 字典. {"风扇哥":"王伟哲", "wlh": "王力宏"} 7. set 集合 {"风扇哥&quo

Python中输出格式化的字符串

在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下: >>> 'Hello, %s' % 'world' 'Hello, world' >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000) 'Hi, Michael, you have $1000000.' 你可能猜到了,%运算符就是用来格式化字符串的.在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序

python中常用的一些字符串

capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串 count(sub[, start[, end]]) return sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选. encode(encoding='utf-8', errors='strict') 以 encoding 指定的编码格式对字符串进行编码. endswith

python中format函数格式化字符串的用法

转载自: http://www.jb51.net/article/105933.htm 前言 Python 在 2.6 版本中新加了一个字符串格式化方法: str.format() .它的基本语法是通过 {} 和 : 来代替以前的 %.. 格式化时的占位符语法: ? 1 replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}" &

Python中List和Tuple类型

a = 'python' print('hello,', a or 'world') b = '' print ('hello,', b or 'world') print('-----------------------------------') 创建list L = ['Adam',95.5,'Lisa',85,'Bart',59] print('创建list:',L) print('-----------------------------------') #按照索引访问list pri

python中的list,字符串转换

在Python的编程中,经常会涉及到字符串与list之间的转换问题,下面就将两者之间的转换做一个梳理.1.list转换成字符串 命令:list() 例子: 2.字符串转换成list命令:"".join(list) 其中,引号中是字符之间的分割符,如",",";","\t"等等 [python] view plain copy['1', '2', '3', '4', '5'] ['123', 'sjhid', 'dhi'] ['

python 中的list&amp;tuple

list Python内置的一种数据类型是列表:list>>> classmates = ['Michael', 'Bob', 'Tracy']>>> classmates['Michael', 'Bob', 'Tracy']变量classmates就是一个list.用len()函数可以获得list元素的个数: >>> len(classmates)3索引来访问list中每一个位置的元素,记得索引是从0开始的: >>> classma

Python中的list,tuple,dict,set

list=[11,"aa",33] 增: list.insert(1,"asas") list.append(22) 删: list.pop() list.pop(0) 改: list[0]=22 查: list[0] list[-1] tuple=(11,12,12,["22"]) 不可变的 set: d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} 把数据放入dict的方法,除了初始化时指定外,还可以通过