黑马程序员技术交流社区
标题: Python 中的高级变量类型知识整理 [打印本页]
作者: sgz823915793 时间: 2018-8-1 22:22
标题: Python 中的高级变量类型知识整理
Python 中的高级变量类型知识整理
1.列表的定义1. List(列表)是Python中使用最频繁的数据类型,在其他语言中通常叫做数组
2. 专门用于存储一串信息
3. 列表用[ ]定义,数据之间使用,分隔
4. 列表的索引从0开始
5. 索引是数据在列表中的位置编号,索引可以被称为为下标
注意:从列表中取值时,如果超出索引范围,程序会报错
list_user = ["si", "liu", "wang", "wu"]
print(list_user[4])
报错信息:IndexError: list index out of range(下标越界错误)
1.1 列表常用操作我来给大家列举几个常用操作:
1.列表.append(数据) 向列表追加数据,从列表尾部添加
2.列表.count(数据) 统计某一数据出现的次数
3.列表.extend(列表2) 将列表2 的数据追加到列表
4.修改 列表[索引] = 数据 修改指定索引的数据
5.删除 del 列表[索引] 删除指定索引的数据
6.列表.remove[数据] 删除第一个出现的指定数据
7.列表.pop 删除末尾数据
8.列表.pop(索引) 删除指定索引数据
9.列表.clear 清空列表
10.len(列表) 统计列表长度
11.列表.sort() 升序排序
12.列表.sort(reverse=True) 降序排序
13.列表.reverse() 逆序、反转
注:假如有没有列举到的,请谅解!
2 元组的定义1.Tuple(元组)与列表类似,不同之处在于元组的 元素不能修改
2.元组 表示多个元素组成的序列
3.用于存储 一串 信息,数据 之间使用, 分隔
4.元组的 索引 从 0 开始
5. 索引 就是数据在 元组 中的位置编号
我把自己的姓名年龄和身高放在元组中,例:
info_tuple = ("siguangzong", 23, 1.72)
注意:假如元组中只包含一个元素时,需要在元素后面添加逗号!
info_tuple = (10, )
元组和列表之间的转换:
1. 使用 list 函数可以把元组转换成列表 list(元组)
2. 使用 tuple 函数可以把列表转换成元组 tuple(列表)
3. 字典Dictionary(字典) 是 除列表以外 python之中 最灵活 的数据类型
字典同样可以存储多个数据,通常用来描述一个物体的相关信息
注意: 列表 是 有序 的对象集 字典 是 无序 的对象集合
字典使用键值对存储数据,键和值之间用,分隔,key是键,value是值
键和值之间使用,分隔
切记:键的值是唯一的!值可以取任何数据类型,但 键只能使用字符串,数字,元组
例子:xiaosi = {"name": "小司", "age": 23, "gender": True}
3.1 字典常用操作 字典名.clear 清空字典 字典名.keys 获取字典的键 字典名.value 获取字典的值
字典名.copy 字典的复制 字典名.pop字典的删除 等等
3.2循环遍历字典代码演示:
# for 循环内部使用的 `key 的变量` in 字典
xiaosi = {"name": "小司", "age": 23, "gender": True}
for k in xiaosi:
print("%s: %s" % (k, xiaosi[k]))
补充:以后经常把字典放在一个列表里,方便我们对其操作
代码演示如下:card_list = [{"name": "司光宗",
"qq": "550574125",
"phone": "110"},
{"name": "王非",
"qq": "851475112",
"phone": "10086"}
]
4. 字符串字符串 就是 一串字符,是编程语言中表示文本的数据类型
Python 中可以使用 一对双引号 “” 或者 一对单引号 ‘’定义一个字符串
注:如果字符串内部需要使用 “”,可以使用 ‘’ 定义字符串
如果字符串内部需要使用 ‘’,可以使用 “” 定义字符串
下面演示下如何循环遍历字符串,其实只要用一个for in 循环就好了
string = "Hello Python"
for i in string:
print(i)
4.1字符串的常用操作注:字符串的操作实在是太多了,在此我给大家列举一点比较常用的操作语法
1. 判断类型
| 如果 string 中只包含空格,则返回 True |
| 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True |
| 如果 string 至少有一个字符并且所有字符都是字母则返回 True |
| 如果 string 只包含数字则返回 True,全角数字 |
| 如果 string 是标题化的(每个单词的首字母大写)则返回 True |
| 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True |
| 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True |
查找和替换:
| 检查字符串是否是以 str 开头,是则返回 True |
| 检查字符串是否是以 str 结束,是则返回 True |
string.replace(old_str, new_str, num=string.count(old)) | 把 string 中的 old_str 替换成 new_str,如果 num 指定,则替换不超过 num 次 |
string.find(str, start=0, end=len(string)) | 检测 str 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1 |
string.index(str, start=0, end=len(string)) | 跟 find() 方法类似,不过如果 str 不在 string 会报错 |
string.rfind(str, start=0, end=len(string)) | |
大小写转换:
拆分和连接:
| |
| 把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面) |
| 类似于 partition() 方法,不过是从右边开始查找 |
string.split(str="", num) | 以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个子字符串,str 默认包含 '\r', '\t', '\n' 和空格 |
| 按照行('\r', '\n', '\r\n')分隔,返回一个包含各行作为元素的列表 |
| 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 |
4.2 字符串的切片切片 方法适用于 字符串、列表、元组
切片 使用 索引值 来限定范围,从一个大的 字符串 中 切出 小的 字符串
列表 和 元组 都是 有序 的集合,都能够 通过索引值 获取到对应的数据
字典 是一个 无序 的集合,是使用 键值对 保存数据
语法:
字符串[开始索引:结束索引:步长]
注意:
从头开始,开始索引 数字可以省略,冒号不能省略
到末尾结束,结束索引 数字可以省略,冒号不能省
步长默认为 1,如果连续切片,数字和冒号都可以省略
假如是倒序的话,步数就是-1
以上就是我对高级数据类型一些知识的归纳整理,如果有不足之处,还请各位谅解!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |