ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python06-2容器

2022-01-23 11:34:18  阅读:168  来源: 互联网

标签:容器 元素 list update 列表 Python06 difference


容器篇

​ 变量这种存储单个数据的容器,也会提供光存储多个数据容器

​ – 线性容器:具备顺序
数组(Array):连续内存
链表(List):Python list的容器,底层使用的就是双向链表结构
栈(Stack):先进后出
队列(Queue):先进先出
hash表:

list:

​ **列表:**是一种线性结构的容器,底层使用的是双向链表结构设计

定义一个 list 容器:

​ 利用若数据类型语言的特点,直接将[]这种列表数据赋给变量,则变量就是list类型

ls = [1, 2, 3, 3, 23]

​ 也可以使用全局函数 list

ls = list()
ls = list([1, 2, 3, 4, 5])

访问列表中的元素:

​ 因为list是有序的线性结构,因此每一个都是存在下标(索引)的,所以可以直接通过下标来访问列表对象[下标] # 获取变量对应的元素

⏰ 注意:下标从0开始

得到list中的元素个数
len(列表对象) # 返回对象的元素个数

列表的遍历:

for 临时变量 in 容器:
	每一次循环得到一个元素,被保存到临时变量中
也可以使用while,通过索引获取

list列表的常见方法:

dir(模块/对象)		# dir全局函数可以打印输出模块或者对象的方法或者属性
help(方法)			  # 返回帮助文档

['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
  • append(新元素) # 在尾部添加新元素
  • insert(index, 新元素) # 在index位置添加新元素
  • extend(列表) # 合并列表
  • clear() # 清空列表
  • pop() # 删除最后一个元素
  • remove(元素) # 删除对应的元素
  • index(元素) # 返回元素的下标索引
  • count(元素) # 统计某个元素在列表中的数量
  • reverse() # 反转列表
  • sort() # 数据的类型必须相同 sort(*, key=None, reverse=False)
  • copy() # 复制list对象

set(集合):

​ set是一种无序的集合,是一种hash表(哈希表)的实现,所以具备如下特点:
1、无序
2、不重复

定义一个set:

s = {必须有元素} # 注意:不要使用空的{},这样定义的是字典
s = set()
s = set([1, 2, 3, 4]) # 相当于将list转化成了set

常见方法

[ 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
  • add(新元素)
  • discard() # 如果元素存在,移除元素
  • pop() # 随机移除一个元素
  • union() # 并集
  • intersection() # 交集
  • difference() # 差集

tuple(元组):

​ 不可变数据类型,类似于其他编程语言的枚举类型
代表一组固定不变的

定义一个tuple:

season = ("春", "夏", "秋", "冬")

常见方法:

  • index(元素) # 返回元素的下标索引
  • count(元素) # 统计某个元素在列表中的数量

元组只有一个元素默认类型为该元素类型

强制设置只有一个元素的元组类型为元组,则在元素后,加逗号即可

dict(字典):

定义一个tuple:

d = {"name": "tom", "age": 16}

>>> d = {"name": "tom", "age": 16}
>>> d.get("name")
'tom'
>>> d.get("age")
16
>>> d.keys()
dict_keys(['name', 'age'])
>>> d.values()
dict_values(['tom', 16])
>>> d["address"] = "Chongqing"          # 增加键值对

常见方法:

['add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
  • get(键) # 获取键对应的值
  • keys() # 获取字典里所有的键
  • values() # 获取字典里所有的值
  • items() # 获取字典里所有的键值对
  • pop(键) # 删除键值对
  • popitem() # (LIFO)倒着删除

字典遍历:

d = {"name": "tom", "age": 16}
for i in d:
	print(k)	# 打印键
	
for j in d:
	print(j, d[j])	# 打印键值

for k in d.keys():
	print(k, d[k])	# 打印键值

for (key, value) in d.items():
	print(key, value)
	
for res in d.items():
	print(res[0], res[1])	#res[0]:键  res[1]:值

标签:容器,元素,list,update,列表,Python06,difference
来源: https://blog.csdn.net/weixin_43239001/article/details/122648836

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有