06-python中高级数据类型
来源:互联网 发布:淘宝二手镜头可以用吗 编辑:程序博客网 时间:2024/06/06 17:44
python中的数据类型可以分为数字型和非数字型,其中数字型包括:整型,浮点型,布尔型和复数型;非数字型包括字符串,字典,元祖,列表。
在python中,所有非数字型都支持以下特点:
1.都是一个序列sequence
,也可以理解为容器
2.取值都可以用[]
3.遍历for in
4.可以计算长度,最大值最小值,比较,删除(字符串不支持修改)
5.链接使用+和重复使用*
6.切片
列表
- 列表是用来存储一串信息的,共有11种方法可调用
- 应用场景:注意列表内存储同类型数据,以便遍历的时候针对每一个元素,执行相同的操作。
- 列表的常用操作有:增、删、改、查、排序、统计,这些对列表的操作,只要是对列表的方法,都会对原列表进行修改,而不是生成新的列表。
- 增:采用的都是list对象的方法来实现
- list.append(object) 给列表末尾追加一个对象,object是作为一个独立的元素存在的,无论这个对象是字符串,数字,列表,字典等任何数据,都只占用一个index。
- list.insert(index, object) 给列表任意位置添加一个对象,和append的区别仅仅是添加了index,其余无区别。index是想要将object放入位置的索引值。
- list.extend(iterable) 首先这个方法的参数必须是一个可迭代对象,如字符串,列表,元祖等,但是不可以是数字型数据;其次,参数对象会被依次迭代的追加进原列表中,如参数是字符串,那么字符串会被迭代后以每个字母作为一个元素追加进列表,每个字母占用一个index。
- 删:除可使用del外,其余采用的均为list对象的方法来实现
- list.remove(object) 此方法可指定删除的元素,参数为需要删除的对象,如字符串,数字,列表等内容,注意object必须存在于列表中,否则 抛出异常
- list.pop([index]) 与remove不同,此方法参数为索引值,如0,1等,删除指定索引值处的元素,而非指定元素内容。另外,参数非必须,无参数默认删除最后一个元素,同时此方法有返回值,即被删掉的元素
- list.clear() 清空列表
- del list[index] 删除指定index处的元素,不常用,以上方法即可满足需求,del关键字本质上是将一个变量从内存中删除。
- 改:一种方式,直接使用[index]
- list[index] = 变更的数据,采用直接找到目标位置直接赋值的方式修改,注意index必须小于列表的长度,否则会抛出异常
- 查:可查元素的index,可查某个index处的数据内容
- list[index] 直接获得index处的数据,可将其赋值给变量进行其他操作,相当于从列表中取值出来了
- list.index(object) ,找到指定数据所处的index值,object必须存在于列表中,仅找到第一个
- 排序:两种方法sort和reverse
- list.sort([key], [reverse = False]) 参数非必须,默认将列表元素按升序排列,排序依据ASCII码中的顺序进行,将reverse改为True后会按降序排列,key用于字典
- list.reverse() 将列表反转排列,不进行升降序排列,仅仅是逆转原有列表的排列方式
- 统计数量:一个方法,一个函数
- list.count(object) 统计列表中object出现的次数
- len(list) 统计列表元素数量
- 增:采用的都是list对象的方法来实现
元组
- 类似列表,不同之处在于元组不可变,那么自然元组就不存在增删改排序的方法,其他方法与列表雷同
- 查:
- info(index) info.index(object) info.count(object) len(info)
- 应用场景:
- 作为函数的参数和返回值
- 格式化字符串时实质就是一个元组
- 使列表不能被修改,保护数据安全
- 转换
- list(tuple)
- tuple(list)
- 两个函数来作为元组和列表相互转换的桥梁
字典
- 字典通常用于存储描述一个物体的相关信息,比如一个人的姓名,年龄,地址等信息时,可以使用字典
- 键值对中,键只能使用字符串,数字或元组,值可以是任何数据类型,大多数情况下只使用字符串,注意个js的对象不同,这里不能直接使用不带引号的字符串(相当于变量名,同时未定义此变量)
- 键不可重复
- len(dict) 可以用来获取字典键值对的数量
常用操作
- 增:
- dict[“key”] = value 当字典中存在key时,会修改原内容,当字典中没有这个key时,会添加此键值对进入字典中
- dict1.update(dict2) 将dict2的内容更新进dict1内,如果存在重复的key,则覆盖原有的
- dict.setdefault(key, value)
- 删
- dict.pop(key) 删除指定的键值对,最常用
- del dict[key]
- dict.clear() 清空字典
改
- 和增的方式雷同
查
- dict[key] 此式就会返回要查询的key的value值,如果key不存在,那么会报错
- dict.get(key) 用途与上类似,区别在于找不到指定的key,不会报错,要常使用此方法,而非上一个
- dict.keys()获取所有的key,返回在列表中
- dict.values()获取所有的values,返回在列表中
- dict.items()获取所有的键值对,以元组的形式返回在列表中
- 可以对以上三种方法得到的数据进行遍历,来统一操作
- 循环遍历字典
- 同样使用for in来遍历
for k in xiaoming: print("%s: %s" % (k, xiaoming[k]))
其中的k得到的是key,以这种方式可以取到key及value
字符串
所有对字符串的操作,均不会改变原字符串
* 字符串建议使用双引号,特殊情况下再使用单引号,比如字符串内部需要使用双引号时
* 字符串可以使用for in循环遍历,得到每一个字符,性质和列表一致
* len(str) 获取字符串长度
* str.count(str1) 小字符串在大字符串中出现的次数
* str[index] 获取单个字符
* str.index(str1) 小字符串第一次出现的索引
字符串常用操作
- 判断类型:返回值为布尔值
- isspace 必须是空格或者\t等转义字符,不能是空
- isalnum 必须是纯数字或字母,不能有空格
- isalpha 必须是纯字母,不能有空格
- isdecimal
- isdigit
- isnumeric
- islower 字符串内只要存在的字母均为小写即可,其他的任意字符都可以存在
- isupper 字符串内只要存在的字母均为大写即可,其他的任意字符都可以存在
- istitle 每个单词首字母必须大写
- 查找和替换
- startswith(str) 以str开头
- endswith(str) 以str结束
- find(str, start=0,end=len(string)) 检查str是否包含在string中,如果start和end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
- rfind()
- index(str, start=0,end=len(string)) 跟find方法类似,不过如果找不到则报错
- rindex()
- replace(old_str,new_str,num=str.count(old)) 替换字符串,num如果指定,则替换不超过num次
- 大小写转换
- capitalize() 把字符串的第一个字符大写
- title() 把字符串的每个单词首字母大写
- lower() 转换str所有大写字符为小写
- upper() 转换str中的小写字母为大写
- swapcase() 反转str中的大小写
- 文本对齐
- ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度width的新字符串
- rjust
- center
- 去除空白字符
- lstrip()
- rstrip()
- strip() 裁掉左右空白字符,包括空格和\t \n 等
- 拆分和连接
- partition(str) 把原字符串分成一个三元素的元组,str前,str,str后
- rpartition(str)
- split(str = “”,num) 以str为分隔符分割字符串,返回一个列表,如果指定num,则将字符串分割成num+1个子字符串,str默认包含空格 \r \t \n,什么都不传入,会以默认包含的内容来分割字符串
- splitlines 按照行分割,返回一个包含各行作为元素的列表
- join() 分隔符在join前作为join的调用者,传入的参数被合并起来(列表,元组,集合均可使用此方法进行 合并,需要保证这些容器中的数据为字符串)
公共方法
切片
- 切片适用于字符串,列表,元组,不适用字典
- 支持顺序索引,同时也支持倒序索引,倒序是步长为负值
内置函数
- len() 获取元素个数
- del() 和del关键字使用类似,只是将删除内容放入括号内
- max() 如果是字典,只针对key
- min()
运算符
+
拼接合并,合并为一个新的数据,原数据不变,在拼接列表时,有点类似extend,但是extend是将原列表修改*
重复多次,适用于字符串,列表,元组,不可用于字典in
元素是否存在,适用于字符串,列表,元组,字典,操作字典时,指的是key- not in 与上类似
- 比较运算符,不仅可以用于单个数字,还可用于元组,列表,字符串,但是其中包含的数据应当是数字
完整的for循环语法
- 使用for in 可以实现列表,元组,字典,字符串的遍历。while循环不可以实现字典的遍历,因为字典是无序的,无法获取index。
- for…….else:当for循环中的内容被正常执行完毕,而没有break,那么就会执行else中的语句,一般情况下,for循环中肯定有个if判断
- 应用场景:在遍历一个列表嵌套字典时,需要判断某个字典中是否存在指定的值,如果存在,提示并且退出循环(break),如果不存在,在循环结束,得到一个统一的提示(else中的语句)
阅读全文
0 0
- 06-python中高级数据类型
- python中高级特性
- python中高级函数应用-sort排序算法
- 06Python中的string数据类型
- Python 数据类型
- python--数据类型
- python 数据类型
- python数据类型
- Python---数据类型
- python数据类型
- python数据类型
- [python] 数据类型
- python数据类型
- python 数据类型
- Python数据类型
- Python数据类型
- Python-数据类型
- Python数据类型
- 万圣节惊天大劫案
- Android MVP模式之模拟登陆功能
- 开发后台界面用 div好,还是frame 框架 好?
- Python中数字和字符串比较大小问题
- Address already in use: JVM_Bind<null>:80 解决方案
- 06-python中高级数据类型
- Fly拦截全局Ajax请求
- Android常用设计模式——观察者模式
- 音乐 和视频播放
- 第十周项目实践 哈夫曼树的建立&&哈夫曼编码
- 如何让外网访问本地WampServer站点
- 1
- SAP业务蓝图该怎么做
- redhat7静默安装oracle11gR2