字符串
字符串的操作很简单,用str变量名去接收写的字符串,用引号(单双多均可)将内容引起来,内容可以是str='学习python'
字符串的截取操作(类似切片)
str='学习python'
res1=str[0,3] #变量名[开始下标:结束下标],不包含结束下标
res2=str[:3]
res3=str[3:]
res4=str[1:6:2] #步长为2的截取
res5=str[:]
字符串的索引
#变量名[下标]
res=str[2]
str[12] #超过索引号
字符串的连接、复制,转大小写
使用+号进行连接
str1 = 'One'
str2 = 'two'
str3 = str1 + str2
str = str1*5 #5个one
str_lower=str1.lower() #转小写
str_up = str1.upper() #转大写
字符串的分割、按照指定的字符来拼接
str = 'hellow,world'
str = str.split(',') #使用指定的分隔符来分割,分割后放入列表中
#结果:['hello', ' world']
str_join=';'.join(str.split(',')) #用 ;号来拼接刚才分割的字符串,实际上是拼接列表的各个元素
# 结果 :hella, warld 是一个字符串
str_join1=;';'.join([str1,str2]) #join接收的是列表
字符串的替换操作
str = string.replace('o','a') #replace函数括号第一个是旧值。第二个是新值
字符串的删除,最值,查找元素位置
strip()默认删除行首或者行尾的空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')
find() 函数查找字符串下标位置
Smax = max('12345')求最大值
Smin = min('12345')求最小值
元组操作
元组是不可变的数据类型,元组可以转为列表、字符串,但是不能转为字典
a = [1,2,2,[4,5,3]]
tup1= tuple(a)
b = '5151asfa'
tup2 = tuple(b)
切片索引
元组的切片和索引同字符串,切片后赋值不改变元组
添加元素
用append来添加元组元素,元组才会增加元素 例如: tup2[3].append(4)
常用类型转化函数
#int()
#float()
#str()
#list()
#tuple()
字典操作
字典是由键值对组成的,其中键是不可变类型,不可用列表表示,但可用元组;其中值可以是字典
dic = {'Aa': 2341, 'Be': '9102', ('xiaodd',): '3258', 1:123} #键是不可变类型:字符串,数值,元组
列表可以转为字典
tup_lis = [('kiki',123), ('Tom', 456), ('Tom', 4567)],键值对的键是唯一的,有冲突会覆盖
字典添加元素、删除元素、查看键或值、访问元素并赋值给变量
dic2.setdefault('jack', 789) #添加单个元素用setdefault
dic2.update(dic) #dic是另一个字典,添加一个以上的元素用update
dic2.update({'Mary':565,'pop':656})
#删除最后一个键值对
res = dic2.popitem() #类似出队
#删除指定元素
res = dic2.pop('Tom')
##删除所有元素
dic2.clear()
#查看键/值
res = dic.keys()
res = idc.values()
#访问 用键访问
res = dic2.get('Tom') #有则返回值,无则返回NONE
res = dic2['Tom'] #有则返回值,无则报错,不安全
#获取所有的元素成对集合,元组列表
items = students.items()
print(items)
# 查看键是否在字典中
print('jacky' in dic2)#False
列表
列表的增删改查
#列表添加元素
list_1=[1,2,3]
list_2=[4,5,6]
list_3=[7,8,9]
list_1.append(list_2) #list_2作为一个整体加入list_1,list_1目前的第四个元素是一个列表
list_2.extend(list_3) #list_3作为一个序列加入list_1
#删除元素
del list[index]
del list[1:3]
ist.pop([obj]) #obj表示可选参数,表示移除列表元素的索引值,默认值为-1,删除最后一个列表值
list.remove(obj) #remove()方法只能删除列表中第一个匹配的元素,如果要删除所有匹配的,使用循环
列表排序
list.reverse() #没有参数,没有返回值,直接将list中的元素反向存放
#sort()方法用于对原列表进行排序(默认为升序排序),排序后的新列表会覆盖原列表
list.sort([key=None][,reverse=False])
print(list)
#sorted()为内置函数也表示对列表排序,与sort()方法不同,内置函数sorted()返回新列表,并不对原列表改变
y=sorted(list)
print(y)
列表推导式
item = [out_exp_res for out_exp in input_list if out_exp == 2]
#out_exp_res可以是函数,它是列表推导式生成元素的表达式,例如平方:list2 = [i**2 for i in list1]
#out_exp 是列表的元素,input_list是列表,if语句是一个条件,筛选符合条件的列表元素
#列表推导式可以写二重循环
result = []
list1 = list('1234567')
list2 = list('89345')
result = [int(i)+int(j) for i in list1 for j in list2 if int(i) % 2 == 0]