零基础学习python笔记(3)
【高级数据类型】
序列:在pyhon中,就是一组按照顺序排列的值(数据集合)
在python中存在三种内置的序列类型:字符串、列表、元组
优点:可以支持索引和切片操作
特征:第一个正索引为0,指向的是左端,第一个索引为负数时,指向为右端
字符串及常用方法 单引号表示
切片:截取字符串中的一段内容。使用语法:[起始下标:结束下标:步长]截取内容不包括结束下标的内容。
下标会越界,切片不会。
常用函数介绍:
1.capitalize() 首字母大写
name='dhdh'
print(name.capitalize())
Dhdh
2.strip() 去两边的空格
lstrip() 去左边空格;rstrip() 去右边空格
a=' dhdh '
print(a.strip())
Dhdh
3.id() 查找储存地址
a=' dhdh '
print(id(a))
1535975008576
4.find() 查找目标对象在序列对象中的位置,没有找到返回-1
a='dhdh '
print(a.find('h'))
1
5.index() 查找字符串中的子字符串,返回下标。类似find()函数但找不到会报错
a='dhdh '
print(a.index('dh'))
0
列表及常用方法 中括号表示
类似c语言的数组
list:Python当中非常重要的数据结构,是一种有序的数据集合。
特点:1.支持增删改查
2.列表中的数据是可以变化的,数据项可以改变,内存地址不会改变
3,用[ ]来表示列表类型,数据项之间用逗号来分隔,注意:数据项可以是任何类型的数据
4,支持索引和切片来进行操作。
len()函数可以获取列表对象中的数据个数
a=[1,2,3]
a.remove(1) #移除指定元素
print(a)
结果:[2, 3]
a=[1,2,3]
a.pop(1) #移除指定项
print(a)
结果[1, 3]
元组 小括号表示
元组tuple与列表类似,但是元组在创建之后不能做任何的修改。
1.不可变
2.用()创建元组类型,数据项用逗号隔开
3.数据项可以是任何类型
4.当元组中只有一个元素时,要加上逗号,否则解释器会当做整型处理
5.同样可以支持切片操作
a=('dhdh ',545,4499,'yfg')
print(type(a))
print(a[-3:-2:])
结果:
> <class 'tuple'>
(545,)
count()计数函数
字典 大括号表示
1.字典是python中重要的一种数据类型,可以储存任意对象。
2.字典以键值对的形式创建的{‘key’:‘value’}利用大括号包裹着。每个键值对用逗号分隔。
3.它不是一种序列,没有下标,只能用键查找数据
当我们不确定是否含有某个值又想获取时常用get函数。
4.键 是不可变类型,值 可以是任意类型。每个键 唯一,否则后者会覆盖前者。
①创建一个字典数据类型
或者这样创建:
dictA={'name':'李易峰','age':'30','pos':'歌手'}
print(dictA)
执行:{'name': '李易峰', 'age': '30', 'pos': '歌手'}
②获取键值
dictA={'name':'李易峰','age':'30','pos':'歌手'}
print(dictA['name']) #通过键,打印对应的值
执行结果;李易峰
③修改键对应的值
dictA={'name':'李易峰','age':'30','pos':'歌手'}
dictA['name']='谢霆锋' #name这个键对应的值改为谢霆锋
print(dictA['name'])
结果;谢霆锋
④添加或者更新
dictA={'name':'李易峰','age':'30','pos':'歌手'}
dictA.update({'height':1.80}) #可以添加
dictA.update({'age':32}) #更新age对应的值
print(dictA)
结果;{'name': '李易峰', 'age': 32, 'pos': '歌手', 'height': 1.8}
⑤获取所有的键;获取所有的值
dictA={'name':'李易峰','age':'30','pos':'歌手'}
print(dictA.keys()) #所有的键
print(dictA.values()) #所有的值
print(dictA.items()) #获取所有的键和值
结果:
dict_keys(['name', 'age', 'pos'])
dict_values(['李易峰', '30', '歌手'])
dict_items([('name', '李易峰'), ('age', '30'), ('pos', '歌手')])
⑥删除操作
使用del 或者 pop 删除
dictA={'name':'李易峰','age':'30','pos':'歌手'}
del dictA['name'] #删除name键对
dictA.pop('age') #删除age键对
print(dictA)
执行结果只有:{'pos': '歌手'}
⑦排序
使用sorted函数,数据类型不一致 不能排序的
如何排序?
1)按照key 排序
dictA={'name':'李易峰','age':'30','pos':'歌手'}
print(dictA)
print(sorted(dictA.items(),key=lambda d:d[0])) #按照 键 的字母排序
结果;
{'name': '李易峰', 'age': '30', 'pos': '歌手'}
[('age', '30'), ('name', '李易峰'), ('pos', '歌手')]
2)按照value排序
值的类型不一样是不行的。