(二) 学习笔记: 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的不同时存在的元素

上一篇 下一篇

猜你喜欢

热点阅读