python常见数据类型及使用方法,看这篇文章就够了

基本数据类型

基本数据类型(8种)

  1. 整型(int)

  2. 浮点型(float)

  3. 字符串(str)

  4. 列表(list)

  5. 元祖(tuple)

  6. 字典(dict)

  7. 集合(set)

  8. 布尔(bool)

     

数据类型分类

分类

python 数据类型

数值类型

整数、浮点、布尔

序列类型

字符串、列表、元祖

散列类型

字典、集合

 

字节类型表示

a=bytes('123')

or 

a=b'123'

 

字节数组

bytearray('123')

 

可变序列

列表[],集合{},字典{"key":'value'}

 

不可变序列

字符串'',元祖()

 

有序序列

列表[],字符串'',元祖()

 

无序散列

集合{},字典{"key":'value'}

 

数据类型操作方法

字符串方法

字符串拼接

运算符 “+” 号拼接

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)

 

 

判断数据类型的方法

type(变量)
isinstance(变量,类型)

 

关于作者

github:https://github.com/GitDzreal93/dev-tester
微信公众号:测试开发guide

 

全部评论

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结: 27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务