python小白——进阶之路——day2天-———容器类型数据(list,set ,tuple,dict,str)
#容器类型数据 : list tuple
# ###列表的特性:可获取,可修改,有序
# 声明一个空列表
listvar = []
print(listvar,type(listvar))
# (1)列表的获取
# 0 1 2 3 4 5
listvar = [5,False,2-4j,5.16,"张三","李四"]
# -6 -5 -4 -3 -2 -1
res = listvar[4]
res = listvar[-1]
print(res)
# len 计算容器类型的长度 (元素的个数)
lengthvar = len(listvar)
print(res)
res = listvar[lengthvar-1] #listvar[5]
print(res)
# (2)列表的修改
listvar = [5,False,2-4j,5.16,"张三 ","李四]
listvar[-2] = "李一凡"
print(listvar)
listvar[1] = True
print(listvar)
# ###元组的特性:可获取,不可修改,有序
#区分是否是元组的标志性符号是逗号,声明一个空元组可以用()
tuplevar = ()
print(tuplevar,type(tuplevar))
tuplevar = (1,)
tuplevar = 1,2,3
print(tuplevar,type(tuplevar))
# 元组的获取
tuplevar = ("张三","李四","王五","李二","王大")
res = tuplevar[1]
print(res)
# error 元组不能够修改
'''
tuplevar[-1] = 123
print(tuplevar)
'''
# ###字符串的特性:可获取,不可修改,有序
strvar = "我爱吃大鸡腿"
res = strvar[-1]
print(res)
# 字符串不能够修改
'''
strvar[-1] = '腿'
print(strvar)
'''
# ###容器类型数据 set dict
# ###集合特征: 自动去重,无序
# 集合的用途,用于做交集,差集,并集,补给(做交叉并补的)
# 1.集合无序
setvar = {"刘德华","张学友","郭富城","黎明"}
# print(setvar)
# (1) 无法通过索引获取值
# print(setvar[0])
# (2) 无法通过索引修改值
# setvar[1] = "123"
# 2.集合自动去重
setvar = {"张三","李四","王五","李二"}
print(setvar,type(setvar))
# 3.定义一个空集合
setvar = {}
print(setvar,type(setvar)) # 空字典,不是空集合
setvar = set()
print(setvar,type(setvar))
# setvar = {[1,2,3]}
# setvar = {{"a":1}}
# setvar = {{1,2,3}}
# setvar = {(1,2,3),"333",(4,5,6)}
setvar = {(1,2,(4,5,6)),"333",(4,5,6)}
print(setvar)
# ###字典特征:键值对存储的数据,有序
'''键和值之间用冒号隔开,键值对之间用逗号隔开'''
'''
哈希算法
把不可变的任意长度值计算成固定长度的唯一值
这个值可正可负,可大可小,通过算出的数,可以获取到对应的值,形成一种映射关系
把这个算法叫做哈希算法,把这个值叫做哈希值
对于字典来讲,里面的键底层就是通过哈希算法计算出来的,
哈希算法不能保证插入内存的数据和字典的字面顺序一致,所以本质上,字典是无序的
3.6版本,把字典的字面顺序记录下来,在从内存拿去数据的时候,根据字面顺序重新排序,所以看起来像有序
3.6版本之前都是无序的,3.6版本经过算法优化变成有序,但本质上无序
可哈希的数据 (不可变的数据):Number(int float bool complex) str tuple
不可哈希的数据 (可变的数据): list set dict
'''
# 语法: dictvar = {"a":1,"b":2,"c":3}
dictvar = {"top":"程咬金","middle":"安其拉","bottom":"鲁班七号",'jungle':"达摩","support":"蔡文姬"}
print(dictvar)
# 获取字典当中的值
res = dictvar['bottom']
res = dictvar['jungle']
print(res)
# 修改字典当中的值
dictvar['support'] = "庄周"
print(dictvar)
# 字典键必须可哈希
'''在命名字典键的时候,推荐使用字符串,按照变量命名的方式来做'''
dictvar = {1:1,(1,2,3):3,False:4,3.14:999,4-2j:888,"李四":"大傻逼"}
print(dictvar)
print({"周大幅","周日","123"})
python小白——进阶之路——day2天-———容器类型数据(list,set ,tuple,dict,str)的更多相关文章
- python小白——进阶之路——day3天-———容器类型数据+Number类型强制类型转换
-->Number 部分 int : 整型 浮点型 布尔类型 纯数字字符串 float: 整型 浮点型 布尔类型 纯数字字符串 complex: 整型 浮点型 布 ...
- python小白——进阶之路——day2天-———数据类型和Number类型和str字符串
### -python的六大标准数据类型(1)Number 数字类型(int float bool complex)(2)String 字符串类型(3)List 列表类型(4)Tuple 元组类型(5 ...
- python小白——进阶之路——day2天-———变量的缓存机制+自动类型转换
# ###同一文件,变量的缓存机制 ''' -->Number 部分 1.对于整型而言,-5~正无穷范围内的相同值 id一致 2.对于浮点数而言,非负数范围内的相同值 id一致 3.布尔值而言, ...
- python小白——进阶之路——day3天-———运算符
(1)算数运算符: + - * / // % ** (2)比较运算符: > < >= <= == != (3)赋值运算符: = += -= *= /= //= %= ** ...
- 关于容器类型数据的强转一共:str() list() set() tuple() dict() 都可以转换成对应的数据类型 /Number 数据类型的强转一共: int() bool() flaot() complex() 都可以转换成对应的数据类型
# ###强制转换成字典类型 # 多级容器数据:该类型是容器数据,并且里面的元素还是容器类型数据 # ###二级容器 # 二级列表 listvar = [1,3,4,5,[6,7,8,9]] res ...
- python小白——进阶之路——day1天---认识python和变量、注释
###-python的认知 89年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido) (1)版本: python2.x原码不规范,重复较多 python3x:原码 ...
- python小白——进阶之路——day4天-———流程控制while if循环
# ### 代码块: 以冒号作为开始,用缩进来划分作用域,这个整体叫做代码块 if 5 == 5: print(1) print(2) # 注意点: 要么全部使用4个空格,要么全部使用1个缩进 ,这样 ...
- python 容器类型数据 (str list tuple set dict)
# ###容器类型数据(str list tuple set dict) var1 = "今天心情非常美丽" var2 = [1,2,3,4] var3 = ("黄将用& ...
- 列表 list 容器类型数据(str字符串, list列表, tuple元组, set集合, dict字典)--->元组 tuple-->字符串 str
# ### 列表 list 容器类型数据(str字符串, list列表, tuple元组, set集合, dict字典) # (1)定义一个列表 listvar = [] print(listvar, ...
随机推荐
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->新增“行政区域管理”,同时大批量树采用异步加载
行政区划:简称政区,是国家为了进行分级管理而实行的区域划分.中国现行的行政区划实行如下原则:1.全国分为省.自治区.直辖市:2.省.自治区分为自治州.县.自治县.市:3.自治州分为县.自治县.市:4. ...
- 开发函数计算的正确姿势 —— 使用 Fun Local 本地运行与调试
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...
- RSA签名的PSS模式
本文由云+社区发表 作者:mariolu 一.什么是PSS模式? 1.1.两种签名方式之一RSA-PSS PSS (Probabilistic Signature Scheme)私钥签名流程的一种填充 ...
- 一统江湖的大前端(5)editorconfig + eslint——你的代码里藏着你的优雅
<一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...
- [心得] SQL Server Partition(表分區) 資料分佈探討
最近在群裡有個朋友問了個問題是這樣的 用户表有一千多万行,主键是用户ID,我做了分区.但经常查询时,其它的表根据用户ID来关联,这样跨区查询,reads非常高.有什么好的处理办法?不分区的话,索引维护 ...
- Elasticsearch修改network后启动失败
修改 /config/elasticsearch.yml(我的安装目录是:/var/www/elasticsearch-6.4.2/elasticsearch-6.4.2), network.host ...
- 深入浅出Java类加载过程
学习笔记二之Java虚拟机中类加载的过程 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现这个类进行初始化. 1. 加载 加载,是指Java虚拟机查找字 ...
- 让priority_queue支持小根堆的几种方法
点击这里了解什么是priority_queue 前言 priority_queue默认是大根堆,也就是大的元素会放在前面 例如 #include<iostream> #include< ...
- word表格转html后去除冗余代码
word可以另存为html文件,通过这个功能,可以快速实现网页展示word内容,特别是表格的编辑,它包含tr.td.th.rowspan.colspan等内容,直接写比较繁琐. 但word转换过来的h ...
- Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取
区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ...