#容器类型数据 : 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)的更多相关文章

  1. python小白——进阶之路——day3天-———容器类型数据+Number类型强制类型转换

    -->Number 部分 int :     整型   浮点型 布尔类型  纯数字字符串 float:    整型   浮点型 布尔类型  纯数字字符串 complex:  整型   浮点型 布 ...

  2. python小白——进阶之路——day2天-———数据类型和Number类型和str字符串

    ### -python的六大标准数据类型(1)Number 数字类型(int float bool complex)(2)String 字符串类型(3)List 列表类型(4)Tuple 元组类型(5 ...

  3. python小白——进阶之路——day2天-———变量的缓存机制+自动类型转换

    # ###同一文件,变量的缓存机制 ''' -->Number 部分 1.对于整型而言,-5~正无穷范围内的相同值 id一致 2.对于浮点数而言,非负数范围内的相同值 id一致 3.布尔值而言, ...

  4. python小白——进阶之路——day3天-———运算符

    (1)算数运算符:  + - * / // % ** (2)比较运算符:  > < >= <= == != (3)赋值运算符:  = += -= *= /= //= %= ** ...

  5. 关于容器类型数据的强转一共:str() list() set() tuple() dict() 都可以转换成对应的数据类型 /Number 数据类型的强转一共: int() bool() flaot() complex() 都可以转换成对应的数据类型

    # ###强制转换成字典类型 # 多级容器数据:该类型是容器数据,并且里面的元素还是容器类型数据 # ###二级容器 # 二级列表 listvar = [1,3,4,5,[6,7,8,9]] res ...

  6. python小白——进阶之路——day1天---认识python和变量、注释

    ###-python的认知 89年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido) (1)版本: python2.x原码不规范,重复较多 python3x:原码 ...

  7. python小白——进阶之路——day4天-———流程控制while if循环

    # ### 代码块: 以冒号作为开始,用缩进来划分作用域,这个整体叫做代码块 if 5 == 5: print(1) print(2) # 注意点: 要么全部使用4个空格,要么全部使用1个缩进 ,这样 ...

  8. python 容器类型数据 (str list tuple set dict)

    # ###容器类型数据(str list tuple set dict) var1 = "今天心情非常美丽" var2 = [1,2,3,4] var3 = ("黄将用& ...

  9. 列表 list 容器类型数据(str字符串, list列表, tuple元组, set集合, dict字典)--->元组 tuple-->字符串 str

    # ### 列表 list 容器类型数据(str字符串, list列表, tuple元组, set集合, dict字典) # (1)定义一个列表 listvar = [] print(listvar, ...

随机推荐

  1. RabbitMQ消息队列(十四)-启用SSL安全通讯

    如果RabbitMQ服务在内网中,只有内网的应用连接,我们认为这些连接都是安全的,但是个别情况我们需要让RabbitMQ对外提供服务.这种情况有两种解决方案: 在RabbitMQ外层在封装一层应用,应 ...

  2. k8s架构分析(二)--技术流ken

    master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube- ...

  3. Spring Cloud Alibaba与Spring Boot、Spring Cloud之间不得不说的版本关系

    这篇博文是临时增加出来的内容,主要是由于最近连载<Spring Cloud Alibaba基础教程>系列的时候,碰到读者咨询的大量问题中存在一个比较普遍的问题:版本的选择.其实这类问题,在 ...

  4. babel版本兼容报错处理:Plugin/Preset files are not allowed to export objects

    原文地址: https://www.cnblogs.com/jiebba/p/9618930.html 1.为什么会报错 ? 这里抱着错误是因为 babel 的版本冲突. 多是因为你的 babel 依 ...

  5. C# 实现对PPT文档加密、解密以及重置密码的操作

    工作中我们会使用到各种各样的文档,其中,PPT起着不可或缺的作用.一份PPT文档里可能包含重要商业计划.企业运营资料或者公司管理资料等.因此,在竞争环境里,企业重要资料的保密工作就显得尤为重要,而对于 ...

  6. C# 设置Excel超链接(一)

    在日常工作中,在编辑文档时,为了方便自己或者Boss能够实时查看到需要的网页或者文档时,需要对在Excel中输入的相关文字设置超链接,那么对于一些在Excel中插入的图片我们该怎么实现超链接呢,下面给 ...

  7. 我的AI之路

    本篇文章会列出在学习AI的路上所读的一些书籍或者其他一些相关内容,主要是用来监督自己,希望自己能够在AI学习上坚持下去. <机器学习 - 周志华> 绪论本章以西瓜为例子,简单的介绍了机器学 ...

  8. IIS中虚拟目录不继承主站点web.config设置的办法(转载)

    ASP.NET提供了强大的Web.config来配置网站,一般来说一个网站只有一个根目录下的Web.config文件,有时候我们希望子目录有着不同的权限或者参数设置,则可以在相应子目录增加一个Web. ...

  9. C# 利用反射动态加载dll

    笔者遇到的一个问题,dll文件在客户端可以加载成功,在web端引用程序报错.解决方法:利用反射动态加载dll 头部引用加: using System.Reflection; 主要代码: Assembl ...

  10. 史上最全python面试题详解(四)(附带详细答案(关注、持续更新))

    python高级进阶-网络编程和并发(?道题详解) 1.简述 OSI 七层协议. OSI是Open System Interconnection的缩写,意为开放式系统互联. OSI七层协议模型主要是: ...