Python 数据类型

tech2023-06-10  104

目录

1 六种标准数据类型1.1 基本数据类型1.1.1 常用类型转换函数1.1.2 字符串 1.2 数据结构1.2.1 列表1.2.2 字典1.2.3 元组1.2.4 集合

1 六种标准数据类型

不可变数据: Number(数字)、String(字符串)、Tuple(元组)可变数据: List(列表)、Dictionary(字典)、Set(集合)

1.1 基本数据类型

数字: int(整数)、float(浮点数)、bool(布尔型)、complex(复数),字符串

1.1.1 常用类型转换函数

函数作用int(x)将x转换成整数类型float(x)将x转换成浮点数类型complex(real [,imag])创建一个复数str(x)将x转换为字符串repr(x)将x转换为表达式字符串eval(str)计算在字符串中的有效Python表达式,并返回一个对象chr(x)将整数x转换为一个字符ord(x)将一个字符x转换为它对应的整数值hex(x)将一个整数x转换为一个十六进制的字符串oct(x)将一个整数x转换为八进制的字符串

1.1.2 字符串

(1) 字符串编码转换

# 使用encode()方法编码 str.encode([encoding="utf-8"][, errors="strict"]) 默认utf-8errors用于指定错误处理方法,strict(遇到非法字符就抛出异常),ignore(忽略非法字符),replace(用"?"替换非法字符) # 使用decode()方法解码 bytes.decode([encoding="utf-8"][, errors="strict"])

(2) 字符串常用操作

# 拼接字符串 print(str1 + str(num) + str2) # 字符串长度 len(string) # 截取字符串 string[start:end:step] # 分割 str.split(sep, maxsplit) # sep:用于指定分割符。默认None,即空字符(空格、换行"\n"、制表符"\t") # maxsplit:用于指定分割的次数。默认-1,即没有限制 # 合并 strnew = string.join(iterable)

(3) 检索字符串

# 用于检索指定字符串在另一个字符串中出现的次数 str.count(sub[, start[, end]]) # 用于检索是否包含指定的字符串 str.find(sub[, start[, end]]) # 如果检索的字符串不存在,则返回-1,否则返回首次出现该字符串时的索引。 str.rfind() # 从右边开始查询

(4) 字母的大小写转换

# 大写字母全部转换为小写字母 str.lower() # 小写字母全部转换为大写字母 str.upper()

(5) 去除字符串中的空格和特许字符

# 去掉字符串左右两侧的空格和特殊字符 str.strip([chars]) # chars:用于指定去除的字符,可以指定多个。默认去除空格、制表符\t、回车符\r、换行符\n # 去除左侧 str.lstrip([chars]) # 去除右侧 str.rstrip([chars])

(6) 格式化字符串 使用"%"操作符

'%[-][+][0][m][.n]格式化字符'%exp

使用format()方法

str.format(args)

1.2 数据结构

List(列表)、Dictionary(字典)、Set(集合)、Tuple(元组)

1.2.1 列表

(1) 创建列表

listname = [element1, element2, element3, element4, ...] emptylist = [] list(range(10,20,2))

列表推导式

listname = [Expression for var in range] listname = [Expression for var in list] listname = [Expression for var in list if condition] # 如: price = [1200, 5330, 2988, 6200, 1998, 8888] sale = [int(x * 0.5) for x in price] print("原价: ", price) print("打五折价: ", sale)

(2) 删除列表

del listname

不常用,因为Python自带垃圾回收机制 (3) 遍历列表

for item in listname: # 输出item for index,item in enumerate(listname): # 输出index和item

在print()函数中使用, end="表示不换行输出。 (4) 添加、修改和删除列表元素

# 添加元素 listname.append(obj) # 追加列表 list1.extend(list2) # 修改元素 listname[index] = new_value # 删除元素(根据索引) del listname[index] # 删除元素(根据值) lisename.remove(value)

(5) 相关函数

# 排序 listname.sort(key=None, reverse=False) # 默认升序。reverse=True表示降序。key=str.lower表示排序不区分字母大小写。 #内置函数sorted() sorted(iterable, key=None, reverse=False) # 获取指定元素出现的次数 listname.count(value) # 获取指定元素首次出现的下标 listname.index(value[, start][, end]) # 统计数值列表的元素和 sum(iterable[, start]) # 向列表的末尾添加元素 listname.append() # 在指定索引之前插入元素 listname.insert(index, value) # 追加列表 listname.extend(list2) # 通过指定索引删除元素,默认移除最后一个 listname.pop(index) # 通过给出的值来删除元素。如果有多个相同的元素,默认删除第一个 listname.remove(value) # 清空列表 listname.clear() # 列表反转 listname.reverse()

1.2.2 字典

(1) 字典的创建

dictionary = {'key1': 'value1', 'key2': 'value2', ..., 'keyn': 'valuen',} dictionary = {} dictionary = dict(key1=value1, key2=value2, ..., keyn=valuen) dictionary = dict(zip(list1, list2)) # 创建值为空的字典 dictionary = dict.fromkeys(list1) # 字典推导式 import random randomdict = {i:random.randint(10,100) for i in range(1,5)} # 清除字典的全部元素 dictionary.clear()

(2) 访问字典

dictionary[key] # 不推荐,因为如果不存在key,会抛出异常 dictionary.get(key[, default]) # default用于当指定的键不存在时,返回一个默认值,如果省略,则返回None

(3) 遍历字典

# 返回"键-值"列表 dictionary.items() # 返回字典的"值" dictionary.values() # 返回字典的“键” dictionary.keys() for key.value in dictionary.items(): print(key, value)

(4) 添加、修改和删除字典元素

# 添加、修改 dictionary[key] = value # 删除 del dictionary[key]

1.2.3 元组

元组也可以称为不可变的列表。 (1) 创建

tuplename = (element1, element2, element3, ..., elementn) emptytuple = () # 使用tuple()函数 tuple(range(10, 20, 2)) # 元组推导式 import random randomnumber = (random.randint(10, 100) for i in range(10)) randomnumber = tuple(randomnumber) # 转换为元组 # 补充 # 属于元组 xianshi = "斋藤", "飞鸟", "是我的", "老婆" queren = ("您说得对",) # 属于字符串 queren = ("您说得对")

(2) 修改元组

# 重新赋值 xianshi = ("斋藤", "飞鸟", "是我的", "老婆") xianshi = ("斋藤", "飞鸟", "是我的", "人") # 元组连接 xianshi = ("斋藤", "飞鸟", "是我的", "老婆") + ("您说", "得对")

1.2.4 集合

集合最好的应用就是去重,因为集合中的每个元素都是唯一的。 (1) 创建集合

setname = {element1, element2, element3, ..., elementn} setname = set(iteration)

(2) 添加和删除元素

# 添加元素 setname.add(element) setname.remove() # 移除指定元素 setname.pop() # 删除一个元素 setname.clear() # 清空集合

(3) 集合的交集、并集、和差集运算

&: 交集|: 并集-: 差集^: 对称差集
最新回复(0)