Python基础数据结构


几种常用的数据类型显示方式如下图:
在这里插入图片描述

列表(list:[1,2,3])

列表本身是动态的数据结构,每次会提前申请一部分空间,直到用完以后再重新申请,而不是每次用多少申请多少,类似与C#中的StringBuilder

适用于数据或数量是可变的场景
在这里插入图片描述

元组(tuple:(1,2,3))

元组本身是静态结构,每次定义后就不可再变,每次变化相当于重新申请一个新的元组,特性类似于C#中的string。

适用于存储的数据和变量不变的场景。

字典(dict:{key1:1, key2:2, key3:3})

字典本身是一个键值对结构,可以动态申请,Key的存储是基于hash函数,因此等值查找的时间复杂度可以到O(1)。
在这里插入图片描述

集合(set:{1,2,3})

类似字典也是基于hash函数,不过只是一个集合,而没有键值对,集合是不能有重复值的,因此可以用于去重(sql distinct),这个的效率比列表高不少,下面例子可以查看到对比

在这里插入图片描述

字符串(str)

字符串跟C#里的string类似,有几个特点或区别

  1. 增加了三引号,即可以使用单引号,双引号和三引号
  2. 增加了切片操作,不过,一样可以索引读取,一样内容不可变
  3. +=操作做了优化,并非每次都重新省去空间,也可能是直接对将操作者后面增加buff(下面例子对比用时)
  4. 格式化输出使用.format方式,当然也可以直接用字符串拼接,只是格式化更易读

在这里插入图片描述

条件循环结构

# for + if
expression1 if condition else expression2 for item in iterable

# 等价于下面写法

for item in iterable:
    if condition:
        expression1
    else:
        expression2
# 仅IF
expression for item in iterable if condition

# 等价于下面写法

for item in iterable:
    if condition:
        expression
# 多个循环
expression1 if condition else expression2 for item1 in iterable1 for item2 in iterable2

# 等价于下面写法

for item1 in iterable1:
	for item2 in iterable2:
	    if condition:
	        expression1
	    else:
	        expression2

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放羊郎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值