Python列表,元组(什么代表元组呢),字符串,字典,哈希算法

1.列表
(可获取可修改有序)
python特有的性质
可以正向索引
也可以***反向索引***
listvar = [1,3,True,“小姜不吃姜”]
正向索引 0 1 2 3
反向索引 -4 -3 -2 -1

获取最后一个元素
print(listvar[3])
print(listvar[-1])
小姜不吃姜

列表可以修改里边的值
listvar[3]= “小李”

2.元组 tuple
(可获取不可修改有序)
定义一个空元组
tuplevar = ()

tuplevar = (“小李”, "小姜”)
正向索引
反向索引

元组不支持元素修改

单纯的()能代表元组类型吗?
逗号是标识是否是元组的标识符
tuplevar = (1) #int型
tuplevar = (1,) #tuple型
tuplevar = 1, #tuple型
在里边没有逗号的情况下,括号中写的是什么类型就是什么类型

3.字符串
(可获取不可修改有序)

4.集合set
(无序,不可获取,不可修改,自动去重
交差并补)
我:张杰,隔壁老樊
你:张杰,董卿
setvar = {“张杰”,“董卿”,“康辉”,“撒贝宁”}

空集合如何定义
setvar = set()

5.字典
(由键值对存储的数据)
1.定义空字典
dictvar = {}
2.定义一个普通的字典
dictvar = {“姓名1”:“小姜”, “姓名2”:“小李”}
3.获取字典的值
res = dictvar[“姓名1”]
4.修改字典的值
dictvar[“姓名1”] = “校长”
5.字典的键的要求
推荐用变量命名的字符串进行使用
字典的键 和 集合的值 有数据上的要求
可哈希的类型
Number(int,float,bool,complex),str,tuple
不可哈希的类型
list , set , dict

但凡提到哈希算法(hash),都是典型的无序特征
目的:为了更加均匀的把数据分配到内存中,底层运用了取模类似的算法;
Python3.6版本,对字典做了优化,存储数据的时候用的哈希算法,但是拿出数据的时候,重新按照定义的顺序做了排序,所以看起来有序,实际无序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值