序列:在python当中 序列就是一组按照顺序排列的值【数据集合】 在python中 存在三种内置的序列类型:
优点:可以支持索引和切片的操作 特征:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端 切片:【高级特性】可以根据下表来获取序列对象的任意[部分]数据 语法结构:[start : end : step] step默认1 字符串及常用方法:
test = 'python'
# print(type(test))
# print(test[0])
# for item in test:
# print(item,end=' ')
name = 'terry'
# print(name.capitalize()) #首字母变大写
a = ' hello '
# print(a.strip()) #去除空格
# print(a.lstrip()) #删除左边的空格
# print(a.rstrip()) #删除右边的空格
# b=a 复制字符串
# print(id(a)) #id函数 可以查看一个对象的内存地址
# print(id(b))
dataStr = 'I love Python'
# print(dataStr.find('P')) #可以查找目标对象在序列对象中的值,如果没有找到就返回-1
# print(dataStr.index('v')) #检测字符串中是否包含子字符串,返回的是下标值
# index如果没有找到对应的数据,便会报异常,而find函数不会,找不到返回-1
# print(dataStr.startswith('I')) #判断是否以I为开头
# print(dataStr.endswith('o'))
# print(dataStr.lower()) #转换成小写
# print(dataStr.upper()) #转换成大写
strMsg = 'hello world'
# slice [start:end:step] 左闭右开 start<=value<end 范围
print(strMsg)
print(strMsg[0])
print(strMsg[2:5]) #2-5下标之间的数据
print(strMsg[2:])
print(strMsg[:3])
print(strMsg[::-1])
list:python当中非常重要的数据结构,是一种有序的数据集合 特点:
li = [1,2,3,"你好"]
print(type(li))
print(len(li)) #len函数可以获取到列表对象中的数据个数
strA = '我喜欢python'
print(len(strA))
# 查找
listA = ['abcd',785,12.23,'qiuzhi',True]
print(listA)
print(listA[0]) #输出第一个元素
print(listA[1:3])
print(listA[2:])
print(listA[::-1]) #负数从右向左输出
print(listA*2) #输出多次列表中的数据【复制】
print('-------------增加-------------------')
# listA.append(['ffff','ddd']) #追加操作
# listA.append(8888)
# print(listA)
# listA.insert(1,'test') #插入操作 需要执行一个位置插入
# print(listA)
# rsData = list(range(10)) #强制转换为list对象
# print(type(rsData))
# listA.extend(rsData) #扩展 等于批量添加
# listA.extend([11,22,33,234])
print(listA)
print('-------------修改------------------')
listA[0] = 'peter'
print(listA)
listB = list(range(10,50))
print('-------------删除list数据项-----------')
# del listB[0] #删除列表中第一个元素
# del listB[1:3] #批量删除多项数据 slice
listB.remove(20) #移除指定的元素
listB.pop(1) #移除指定的项
print(listB)
print(listB.index(19,2,25)) #返回的是一个索引下标,在第3个元素到第25个元素中查找
元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,元素也是通过下标进行访问。 是一种不可变的序列,在创建之后就不能进行任何的修改 特点:
#元组的创建,不能进行修改
tupleA = () #空元组
tupleA = ('abcd',89,9.12,'peter',[11,22,33])
print(type(tupleA))
print(tupleA)
# 元组的查询
# for item in tupleA:
# print(item,end=' ')
print(tupleA[2:4])
print(tupleA[::-1])
print(tupleA[::-2]) #表示反转字符串 每隔两个取一次
print(tupleA[-2:-1:]) #倒着取下标 为-2到-1区间的
# tupleA[0] = 'pythonHello' #错误的
# print(tupleA)
tupleA[4][0] = 2222 #可以对元组中的列表类型的数据进行修改
print(tupleA)
tupleB = ('1',) #当元组中只有一个数据项的时候,必须要在第一个数据项后面加上逗号
print(type(tupleB))
# tupleC = tuple(range(10))
tupleC = (1,2,3,4,3,4,4,1)
print(tupleC)
print(tupleC.count(4))
也是python中重要的数据类型,字典是由键值对组成的集合,通常使用键来访问数据,效率非常高,和列表一样支持对数据的添加、修改、删除 特点:
#创建字典
dictA = {'pro':'艺术','school':'北京电影学院'} #空字典
#添加字典数据
dictA['name'] = '张三' #key:value
dictA['age'] = 30
dictA['pos'] = '歌手'
print(type(dictA))
print(dictA)#输出完整的字典
print(len(dictA)) #数据项长度
print(dictA['name'])
dictA['name'] = '王俊凯'#修改键对应的值
dictA['school'] = '香港大学'
dictA.update({'age':32})
dictA.update({'height':1.80})
print(dictA)
#获取所有的键
print(dictA.keys())
#获取所有的值
print(dictA.values())
#获取所有的键和值
print(dictA.items())
for item in dictA.items():
print(item)
for key,vaule in dictA.items():
print('%s==%s'%(key,vaule))
#删除操作
#通过指定键进行删除
# del dictA['name']
# dictA.pop('age')
print(dictA)
#排序 按照key排序
print(sorted(dictA.items(),key=lambda d:d[0]))
#按照value排序
print(sorted(dictA.items(),key=lambda d:d[1]))#报错,需要同一类型才能排序
#共有方法: + * in
#字符串合并
strA = '人生苦短'
strB = '我用python'
print(strA+strB)
#列表合并
listA = list(range(10))
listB = list(range(11,20))
print(listA+listB)
#复制 *
print(strA*3)
print(listA*3)
# in 对象是否存在 结果是一个bool值
print('生' in strA)
print(22 in listA)
dictA = {'name':'peter'}
print('name' in dictA)