(二) 学习笔记: python基础2-详细介绍数据类型和常用函
2018-03-23 本文已影响13人
fanhang64
一. Number类型常用的函数
函数名 | 函数说明 |
---|---|
pow(x,y) | x的y次方 |
round(x[,n]),其中[,n]可选参数 | x浮点数的四舍五入,n为保留小数的位数 |
max(参数1,参数2,参数3,..) | 返回给定参数的最大值,参数可为序列(序列:能被for循环的) |
min(参数1,参数2,参数3,..) | 返回给定参数的最小值,参数可为序列(能被for循环的) |
math.ceil(float) | 进一取整数(向上取整) |
math.floor(float) | 舍一取整(向下取整) |
随机数(需要import random包)
函数名 | 函数说明 |
---|---|
choice() | 返回一个所给列表,元组或者字符串的随机项 |
randrange(start,end,step) | 返回指定范围内的随机数,start:范围内开始值包含本身; end:结束值,不包含本身; step:指定递增的基数 |
range(start,end,step) | 返回一定范围的序列,start:范围内开始值包含本身; end:结束值,不包含本身; step:指定递增的基数 |
shuffle(list) | 返回随机打乱的列表(只有列表能被打乱),作用于列表本身 |
randint(start,end) | 返回随机整数 包含start 和end本身 |
二. 字符串常用的函数
函数名 | 函数说明 |
---|---|
str.isnumeric() | 判断是否是一个数字字符串(只能是一个纯数字字符串,不能包含其他字符) |
str.join( seq) | 以指定字符串str作为分隔符,在合并成一个新的字符串返回,不改变原来seq |
center(width, fillchar) | 以原始字符串作为中心,使用fillchar填充到固定的宽度,填充结果如果不够width位,用fillchar填充到width位,如果字符串本身超过width位数,不用填充 |
ljust(width,fillchar) | 返回一个原字符串左对齐,并使用fillchar填充到固定的宽度 |
rjust(width,fillchar) | 返回一个原字符串右对齐,并使用fillchar填充到固定的宽度 |
lstrip()/rstrip()/strip() | 去除字符串的左右两侧的指定字符或者默认的去除空白字符(只去除左右两侧的字符) |
chr() | 将一个整数(ascii码值)转换为对应的字符 |
ord() | 将一个字符返回一个整数(ascii码值) |
replace(old, new[,max]),其中max为可选参数,替换次数 | 在一个字符串中把某一个字符替换成另外的一个字符,max不写,替换对应的全部,否则替换max次 |
find(str,beg=0) | 查找某个字符的出现位置,默认beg从第一位(0)查找,返回索引值,查找失败返回-1 |
rfind(str) | 返回字符串某个字符出现的位置(从右向左查询),返回索引值,查找失败返回-1 |
split(seq[,maxsplit]) | 用某个字符将当前的字符串进行拆分,返回列表 |
upper() | 把字符串中的小写转大写字母 |
lower() | 把字符串中的大写转小写字母 |
splitlines([True]) | 以换行符进行拆分,返回列表,参数 True可选,是否保留换行符,默认为False |
三. List列表
List列表类型是python中使用最频繁的一种数据类型
语法规则:列表是写在[]中间,用逗号隔开的元素列表
取值语法格式: 列表[头下标:尾下标:步长] (同字符串)
实例:
myList = [1,2,3,4,'a','b']
# 1. 取值, 通过索引取值
print(myList[-1]) # b
print(myList[len(myList) - 1]) # b == myList[-1]
# 头下标:尾下标(切片取值)
print(myList[3:5]) # [4, 'a']
print(myList[-3:-1]) # [4, 'a']
# 步长的操作
print(myList) # [1, 2, 3, 4, 'a', 'b']
print(myList[:]) # [1, 2, 3, 4, 'a', 'b']
print(myList[-1::-1]) # ['b', 'a', 4, 3, 2, 1] 列表的逆序输出
列表的值的修改和删除
实例:
# 列表的修改
myList = [1, 2, 3, 4, 'a', 'b']
myList[-2] = 'c'
print(myList) # [1, 2, 3, 4, 'c', 'b'] # 可以修改列表的值
# 列表的删除
del myList[4]
print(myList) # [1, 2, 3, 4, 'b'] # 可以删除列表的值,本来字符'c'的索引为4,删除之后b的索引为4
# del myList[4], myList[5] # error 因为索引4对应的值删除之后,后面值的索引会-1
del myList[4], myList[4] # ok
print(myList) # [1, 2, 3, 4]
# 删除索引2-5的值
myList[2:5] = []
print(myList) # [1, 2, 'b']
多维列表
列表的值还是列表
实例:
# 多维列表
myList1 = ['a', 'b', 'c']
myList2 = [1, 2, 3]
myList3 = [myList1, myList2]
print(myList3) # [['a', 'b', 'c'], [1, 2, 3]]
print(myList3[0][2]) # 'c'
print(myList3[-1]) # 取出二维列表最后一个值,myList2 = [1, 2, 3]
# 多维列表值的修改
myList3[0][2] = 'x'
print(myList3) # [['a', 'b', 'x'], [1, 2, 3]]
列表的常用函数
函数名 | 函数说明 |
---|---|
copy() | 列表的浅复制(只能复制第一层列表,多层列表之间使用的是引用) |
copy.deepcopy() | 列表的深拷贝,拷贝多层互不干扰 |
len() | 计算列表元素长度函数 |
list.count() | 计算列表中某个值出现的次数 |
list.append() | 向列表中追加一个值 |
list.pop([index]),参数可选 | 将列表中最后一个值弹出并返回,如果给索引,弹出索引对应的值 |
list.extend(iterable) | 向列表中追加多个值 |
list.insert(index, obj) | 在某个索引的值前方插入新的值 |
list.remove(val),其中val为对应的值 | 移除列表中的第一个值的匹配项 |
list.reverse() | 列表的反转 |
list.clear() | 清空列表 |
list.sort() | 列表的排序 |
深浅拷贝实例
myList = [['a', 'b', 'c'], [1, 2, 3]]
# print(myList)
# copy() 浅拷贝
newMyList = myList.copy()
# print(newMyList)
# 一维列表 先拷贝在修改,值没有任何问题(修改一个,另一个不会改变)
# myList1 = ['a','b','c']
# oneList = myList1.copy()
# myList1[0] = 'x'
# print(oneList) # ['a', 'b', 'c']
# 二维列表 先拷贝在修改,值跟着发生改变
# myList[0][2] = 'x'
# print(newMyList) # 发生改变 解决办法: 深拷贝
# 深拷贝(需要导入copy包) deepcopy()
import copy
newMyList = copy.deepcopy(myList)
myList[0][2] = 'x'
print(myList) # [['a', 'b', 'x'], [1, 2, 3]]
print(newMyList) # [['a', 'b', 'c'], [1, 2, 3]]
注意:
1> 与字符串不同的是 值可以修改和删除
2> +只能和列表本身相连接
3> *列表重复的次数
4> 和字符串一样 列表可以被索引(按照索引取值)和切片(取部分值)
四. Tuple元组
元组的定义:元素写在()之间,多个元素使用逗号隔开,称为元组
myTuple = (元素1,元素2,...)
元组的操作和字符串操作一样
注意:
当元组是一个值的时候 需要添加逗号,例如:
(1,) # 要添加逗号, 不然为int类型
newTuple = (1)
print(newTuple, type(newTuple)) # 1 int
newTuple = (True)
print(newTuple, type(newTuple)) # True bool
newTuple = (1,) # 加逗号
print(newTuple, type(newTuple)) # (1,) tuple
五. set集合
集合是一个不重复的无序序列
基本功能: 进行成员测试和去除重复元素
定义:使用大括号{},括号内添加内容来定义集合或者是set定义集合
mySet1 = {1} # 集合的定义
print(mySet1)
print(type(mySet1)) # {1} <class 'set'>
mySet1 = {}
print(mySet1)
print(type(mySet1)) # {} <class 'dict'> 定义结果为字典
mySet2 = set() # 定义空集合
print(mySet2)
print(type(mySet2)) # set() <class 'set'>
注意:
定义空集合 需要使用set() 类型转换函数,否则定义为空字典
集合的使用:
1> a-b # a和b的差集(注意比较的顺序)
2> a|b # a和b的并集
3> a & b # a 和b的交集
4> a ^b # a和b的不同时存在的元素