基础数据类型及方法

142 阅读4分钟

基本数据类型(8种)

  • 整型(int)
  • 浮点型(float)
  • 字符串(str)
  • 列表(list)
  • 元组(tuple)
  • 字典(dict)
  • 集合(set)
  • 布尔(bool)

数据类型分类

分类python数据类型
数值类型整数、浮点、布尔
序列类型字符串、列表、元组
散列类型字典、集合

常用数据类型操作方法

字符串方法

  • 字符串拼接
运算符 “+” 号拼接
 str1 + str2
数组转字符串
"".join([str1, str2])
"%"号占位符拼接
 "str1:%s,str2:%s"%(str1, str2)
 format方法拼接
 "{}{}{}".format(str1, str2, str3)
  • 字符串替换
m:新字符串,n:旧字符串,x:替换个数
str1.replace(m,n,x)
  • 查找字符串位置
查找m在str1中位置(索引),找不到会抛出异常
 str1.index(m)
查找m在str1中位置(索引),找不到返回 -1
 str1.find(m)
统计字串出现的次数
  统计m在str1中出现的次数,一个都没有返回 0
  str1.count(m)
  • 判断是否是数字
判断str1是否是数字,返回 bool
str1.isdigit()
  • 判断是否是字母
判断str1是否是字母,返回bool
str1.isalpha()
  • 判断是否是大写
判断str1是否是大写,返回bool
str1.isupper()
  • 判断是否是小写
判断str1是否是小写,返回bool
str1.islower()
  • 判断str1是不是以m开头
判断str1是不是以m开头,返回bool
str1.startswith(m)
  • 判断str1是不是m结尾
判断str1是不是m结尾,返回bool
str1.endswith(m)
  • str1转化为大写
str1.upper()
  • str1转化为小写
str1.lower()
  • 去除部分字符串
去掉str1左右空白字符串
str1.strip()
去掉左侧空白
str1.lstrip()
去掉右侧空白
str1.rstrip()
  • 标题化
str1.title()
  • 首字母变成大写
str1.capitalize()
  • 分割字符串
以m为界分割,分割x次
str1.split(m, x)

列表方法

  • 元素添加到末尾
li.append(m)
  • 插入元素
将m插入到列表,x是列表元素下标
li.insert(x,m)
  • 列表拼接
li.extend(list1)
列表拼接,li 尾部增加 list1 的元素,作用在 li 上
这个方法也是充分体现了鸭子类型,传入的参数不仅是列表,元组、集合等可迭代对象都可以当作参数传入
和li+list1区别:li + list1是表达式,要用一个变量来接收,如 list2 = li + list1
  • 弹出(删除)元素
li.pop(x)
x:被删除元素的索引,返回值:被删除的元素
若不传参数,则从最后开始删除
  • 删除元素
删除一个元素m,没有返回值
li.remove(m)
  • 清空列表
li.clear()
  • 查询元素下标
查询m的下标
li.index(m)
  • 统计元素个数
统计m在li中出现的次数,一个都没有返回 0
li.count(m)
  • 设置元素值
li中下标为x的元素的值,设置成m
li[x] = m
  • 深拷贝和浅拷贝
copy.copy(li) 浅拷贝,只拷贝第一层元素的引用,产生的新的列表与被拷贝的列表互不影响
copy.deepcopy(li)深拷贝,递归拷贝所有元素,产生新的列表与被拷贝的列表互不影响
li = old_li 赋值,两个变量都指向同一个内存块,修改li会对old_li产生影响,同理,修改old_li也会对li产生影响
  • 列表排序
永久排序
排序
li.sort(reverse=True/False)
倒序
li.reverse()
True 倒序
False 正序
  • 临时排序
排序
sorted(li, reverse=True/False)
倒序
reversed(li)
True 倒序
False 正序
  • 列表遍历
假设:lists = [1, 2, 3, 4, 5]
只遍历值
for i in lists:
print(i)
逆序遍历
for i in lists[::-1]:
print(i)
只遍历索引
for idx in range(0, len(lists)):
print(idx)

元组方法

  • 查找下标
查找m在tup中下标
tup.index(m)
  • 统计元素个数
统计m在tup中出现的次数,一个都没有返回 0
tup.count(m)

集合方法

  • 求 st1 和 st2 的交集
st1 & st2
  • 求 st1 和 st2 的并集
st1 | st2
  • 求 st1 和 st2 的差集
st1 - st2
  • 添加元素
向集合st里面添加一个元素m
st.add(m)
  • 删除元素
随机删除集合里的元素
st.pop()
  • 删除指定元素
st.remove(m)
  • 判断st1与st2是否存在交集
st1.isdisjoint(st2)
  • 判断st1是否是st2的子集
st1.issubset(st2)
  • 判断st1是否是st2的父集
st1.issuperset(st2)
  • 更新元素
向集合里面添加元素m,m可以为字符串、列表、元组、集合、字典(字典只存key)
st1.update(m)

字典方法

  • 生成一个字典
生成一个字典d,键是可迭代对象m中的元素,值是默认值v
d = dict.fromkeys(m, v)
  • 设置默认值
查询字典d中有没有k这个键,有则返回k对应的值;无则添加,d[k]=v
d.setdefault(k, v)
  • 清空字典
d.clear()
  • 删除键值对
删除以k为键的键值对
d.pop(k)
  • 删除最后一个键值对
d.popitem()
  • 合并字典
把new_d的键值对合并到d中
d.update(new_d)
  • 添加或修改键值对
d[k]=v
  • 查询键值对
查询d中是否k这个键值对,若有,返回k的值;若没有,返回默认值v
d.get(k, v)