序列:在Python中,就是一组按照顺序排列的值(数据集合)
存在三种内置的序列类型:字符串、列表、元组
优点:可以支持索引和切片的操作
特征:第一个正索引为0,指向的是左端;第一个索引为负数的时候,指向的是右边。
字符串
切片:截取字符串中的其中一段内容。
切片使用语法:[起始下标:结束下标:步长],slice[start,end:step]
步长默认为1,截取的内容不包括结束下标对应的数据,步长指隔几个下标获取一个字符。
常用方法:
- capitalize() :首字母变大写
- endswith/startswith():是否 x结束/开始
- find() :检测x 在字符串中的下标值,找不到返回-1.
- index():检测字符串中是否包含子字符串,返回下标值,没有找到对象会报错。
- isalnum():判断是否是字母和数字
- isalpha():判断是否是字母
- isdigit():判断是否是数字
- islower():判断是否是小写
- join():循环取出所有值用xx 去连接
- lower/upper():大小写转换
- swapcase():大写变小写,小写变大写
- lstrip/rstrip/strip:移除左/右/两侧空白
- split():切割字符串
- title():把每个单词的首字母变成大写
- replace(old,new,count=None):old-被换字符串,new-替换字符串,count-换多少个。无count表示全部替换。
- count():统计出现的次数
列表
list:是一阵有序的数据集合
特点:
- 支持增删改查
- 列表中的数据可以变化,数据项可以变化,内存地址不会变化。
- 用[] 来表示列表类型,数据项之间用逗号来分隔,数据项可以是任何类型的数据。
- 支持索引和切片的操作
查找:
list=[123,'asdc',12.45,True]
print(list) #输出完整的列表
print(list[0]) #输出第一个元素
print(list[1:3]) #从第二个元素开始到第三个元素
print(list[2:]) #从第三个元素开始到最后所有的元素
print(list[::-1]) #负数从右向左开始输出
print(list*2) #输出多次列表中的数据(复制)
添加:
lists.append('dddd')
lists.append([123,'sddd']) #追加操作
lists.insert(1,'ssssss') #插入操作,需要指定一个位置插入
print(lists)
rsData=list(range(10)) #强制转换为list对象
lists.extend(rsData) #拓展,批量添加
lists.extend([22,33,44])
print(lists)
修改:
lists[0]='lllllq'
删除:
del lists[0] #删除列表中的第一个元素
del lists[1:3] #批量删除多项数据,slice
lists.remove(123) #移除指定的元素
lists.pop(1) #移除指定的项,参数是索引值
print(lists)
常用方法:
- append():追加
- len():可以获取到列表对象中的数据个数
- index():返回的是一个索引下标
元组
是一种不可变的序列,在创建之后不能做任何的修改
特点:
- 不可变
- 用()创建元组类型,数据项用逗号来分隔
- 可以是任何类型
- 当元组中只有一个元素时,要加上逗号,否则解释器会当做整型来处理
- 支持切片操作
# 元组的创建
tupleA=() #空元组
tupleA=('aaa',12,45,'ddd',[11,22,33])
print(tupleA)
# 元组的查询
for item in tupleA:
print(item,end=' ')
pass
print(tupleA[2:4])
print(tupleA[::-1])
print(tupleA[::-2]) #表示反转字符串,隔一个取一次
print(tupleA[-2:-1:])#倒着取字符串,最右边为-1,【-2,-1)
tupleA[4][0]=44 #可以对元组中的列表类型的数据进行修改
print(tupleA)
tupleB=(1,2,3,4,3,2,1,4,4)
print(tupleB.count(4)) #可以统计元素出现的次数
字典
可以存储任意对象,字典以键值对的形式创建的 {'key':'value'} 。
通常使用键来访问数据,效率非常高,和list一样,支持对数据的添加、修改、删除
特点:
- 不是序列类型,没有下标的概念,是一个无序的 键值集合,是内置的高级数据类型
- 用{} 来表示字典对象,每个键值对用逗号分隔
- 键 必须是不可变的类型(元组、字符串),值可以是任意类型
- 每个键必定是唯一的,如果存在重复的键,后者会覆盖前者
常用方法:
# 创建字典
dictA = {'pro':'艺术','school':'学校'} #空字典
# print(type(dictA))
# 添加字典数据
dictA['name']='可可' #key:value
print(len(dictA)) #数据项长度
print(dictA['name']) #通过键获取对应的值
dictA['name']='jiojio' #修改键对应的值
dictA.update({'age':23}) #可以添加或更新数据
#获取所有的键
print(dictA.keys())
#获取所有的值
print(dictA.values())
#获取所有的键值对
print(dictA.items())
for key,value in dictA.items():
print('%s==%s'%(key,value))
# 删除操作
del dictA['name'] #通过指定的键来删除
dictA.pop('age')
print(dictA)
# 如何排序 按照key排序 key
sorted(dictA.items(),key=lambda d:d[0])
# 如何排序 按照value排序 value
sorted(dictA.items(),key=lambda d:d[1])
公用方法:
合并操作 + :两个对象相加操作,会合并 两个对象。适用于字符串、列表、元组
复制 * :对象自身按指定次数进行 + 操作。适用于字符串、列表、元组
in 判断元素是否存在:判断指定元素是否存在于对象中。适用于字符串、列表、元组、字典
# 合并 +
strA = 'kkk'
strB = 'nnnn'
print(strA+strB)
listA = list(range(10))
listB = list(range(11,20))
print(listA+listB)
# 复制 *
print(strB*2)
print(listB*3)
# in 对象是否存在 结果是一个bool值
print('n' in strB)
print(10 in listA)
dictA = {'name':'peter'}
print('name' in dictA)
浙公网安备 33010602011771号