一、索引
不管是字符串、元组、集合、列表下标都是从0开始
a = 'h e l l o , w o r l d'
对应的下标 0 1 2 3 4 5 6 7 8 9 10
a = 'hello,world'
print(a[6]) #输出结果为w
二、切片
切片是指对操作的对象截取其中的一部分,字符串、元组、列表都支持切片操作
序列[开始位置下标:结束位置下标:步长] ===》左闭右开
a = 'hello,world'
print(a[2:6]) #输出结果为"llo," --->默认步长为1
三、常用方法
列表、字典、集合可对数据做增、删、改、查,元组内的数据不可修改
1、查找方法
#find():检测某个子串是否包含在这个字符串中,如果在则返回这个子串开始的位置下标,否则返回-1
#字符串序列.find(子串, 开始位置下标, 结束位置下标)
a = 'hello,world'
print(a.find('h')) #输出结果为‘0’
#index():检测某个子串是否包含在这个字符串,如果在则返回这个子串开始的位置下标,否则报异常,注意与find()区分
#字符串序列.index(子串, 开始位置下标, 结束位置下标)
a = 'hello,world'
print(a.index('f')) #输出异常ValueError: substring not found
#count():返回某个子串在字符串中出现的次数
a = 'hello,world'
print(a.count('l')) #输出结果为3
2、修改方法
#replace():替换
#字符串序列.replace(旧子串, 新子串, 替换次数)
a = 'hello,world'
print(a.replace('world','小明')) #输出结果为“hello,小明”
#split():分割
#字符串序列.split(分割字符, num)
a = 'hello,world'
print(a.split(',')) #输出结果为['hello', 'world']
#join():用一个字符或子串合并字符串,即将多个字符串合并为一个新的字符串。
str = ['abc','def']
print('---'.join(str)) #输出结果为‘abc---def’
capitalize() :将字符串第一个字符转换成大写。
title() :将字符串每个单词首字母转换成大写。
lower() :将字符串中大写转小写。
upper() :将字符串中小写转大写。
lstrip() :删除字符串左侧空白字符。
rstrip() :删除字符串右侧空白字符。
strip() :首尾去空。
ljust() :返回一个原字符串左对齐,并使用指定字符(默认空
格)填充至对应长度 的新字符串。
#字符串序列.ljust(长度, 填充字符)
rjust() :返回一个原字符串右对齐,并使用指定字符(默认空
格)填充至对应长度 的新字符串,语法和ljust()相同。
center() :返回一个原字符串居中对齐,并使用指定字符(默认
空格)填充至对应长度 的新字符串,语法和ljust()相同。
str = 'hello'
print(str.center(11,'-')) #输出结果为‘---hello---’
3、判断方法
startswith() :检查字符串是否是以指定子串开头,是则返回 True ,否则返回 False 。如果设置开始和结束位置下标,则在指定范围内检查。字符串序列.startswith(子串, 开始位置下标, 结束位置下标)endswith() ::检查字符串是否是以指定子串结尾,是则返回 True ,否则返回 False 。如果设置开始和结束位置下标,则在指定范围内检查。isalpha() :如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False 。isdigit() :如果字符串只包含数字则返回 True 否则返回False 。isalnum() :如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True, 否则返回 False 。isspace() :如果字符串中只包含空白,则返回 True ,否则返回 False 。
str = 'hello'
print(str.startswith('h')) #输出‘True’
print(str.endswith('h')) #输出‘False’
print(str.isalpha()) #输出‘True’
print(str.isdigit()) #输出‘False’
print(str.isalnum()) #输出‘True’
print(str.isspace()) #输出‘False’
四、字典的常见操作
字典以键值对存储数据:字典名={key:value,key:value,......}
#通过索引key获取数据值,输出为red
dic = {'a':'red','b':'blue','c':'green'}
print(dic['a'])
print(dic.get('a'))
dic = {'a':'red','b':'blue','c':'green'}
print(dic.keys()) #获取所有的key,输出结果为‘dict_keys(['a', 'b', 'c'])’
dic = {'a':'red','b':'blue','c':'green'}
print(dic.items()) #以元组的形式返回键值对
print(dic.values()) #只获取value值
#结果如下图
#字典数据的修改
dic = {'a':'red','b':'blue','c':'green'}
dic['a']='haha'
print(dic)
#字典数据的增加
dic = {'a':'red','b':'blue','c':'green'}
dic['d']= 'yellow'
print(dic)
#合并字典
dic = {'a':'red','b':'blue','c':'green'}
dic2 = {'d':'yellow'}
dic.update(dic2)
print(dic)
#字典的数据删除----指定键删除对象
dic = {'a':'red','b':'blue','c':'green'}
print(dic.pop('a'))
print(dic)
五、集合
创建集合使用
{}
或
set()
, 但是如果要创建空集合只能使用
set()
,因为
{}
用来创建空字典。
特点:1、集合可以去掉重复的数据 2、集合的数据时无序的,不支持下标
s = {'a','b','c','b','a'}
print(s)
六、推导式
推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持:1、列表(list)推导式 2、字典(dict)推导式 3、集合(set)推导式
#以列表推导式为例
s = [a*2 for a in range(10) if a < 8 ]
print(s)