资讯专栏INFORMATION COLUMN

python疑问4:list,tuple,dict,set区分

U2FsdGVkX1x / 2560人阅读

摘要:需要注意的是的必须是不可变对象。因为根据来计算的存储位置,如果每次计算相同的得出的结果不同,那内部就完全混乱了。这个通过计算位置的算法称为哈希算法。要保证的正确性,作为的对象就不能变。

1.List
定义一个列表,列表内容数据类型可以不同,元素可以更改,可以嵌套list

//定义
name = ["Tom","Jack","Marry"]
//长度计算
len(name) // Out:3
//访问列表内元素
name[0]//Tom
name[1]//Jack
name[2]//Marry
//追加元素
name.append("Jim") //["Tom","Jack","Marry","Jim"]
//插入元素
name.insert(1,"pengyu") //["Tom","pengyu","Jack","Marry","Jim"]
//删除末尾元素
name.pop() //["Tom","pengyu","Jack","Marry"]
//删除指定位置
name.pop(2) //["Tom","pengyu","Marry"]
//替换元素
name[0] = "haha" //["haha","pengyu","Marry"]

2.tuple
定义一个元组,一旦初始化不能修改

//定义
phone = ("iphone","ipad","huawei")
//特殊,定义一个元素的tuple,记得加逗号,消除与括号运算符的歧义
phone = ("ipad",)
//tuple元素内含list
phone = ("iphone","ipad",["huawei","oppo"])
phone[2][0]="iwatch"
phone[2][1]="vivo"
print(phone) // ("iphone","ipad",["iwatch","vivo"])
//定义一个不变的tuple,必须保证其内部元素也是不变的

3.dict
定义一个字典,内含键值对。需要注意的是dict的key必须是不可变对象。
因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。

要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,可以作为key,而list是可变的,就不能作为key

//定义
salary = {"xiaoming":2000,"Jim":5000,"Wang":4600}
//访问
salary["Wang"] //4600
//修改
salary["Jim"] = 3200// {"xiaoming":2000,"Jim":3200,"Wang":4600}
//判断key是否在字典里
"Jack" in salary //False
//删除key
salary.pop("Wang") //{"xiaoming":2000,"Jim":3200}
//如果key可变?
list = ["a","b","c"]
salary[list] = "pengyu" //报错

4.set
set定义一个key的集合,跟dict相似,但不储存value,key不能重复,其元素内部必须为不可变对象

//定义
color = set(["red","yellow","blue"]) // {"red","yellow","blue"}
color = set(["red","yellow","blue","red","yellow"]) //{"red","yellow","blue"}
//添加元素
color.add("black") // {"red","yellow","blue","black"}
//删除元素
color.remove("red") // {"yellow","blue","black"}
//并集,交集
color1 = set(["red","blue","black"])
color2 = set(["yellow","black","red"])
color1 & color2 // {"red","black"}
color1 | color2 // {"red","yellow","blue","black"}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41350.html

相关文章

  • Python_基础

    摘要:依次写出函数名括号参数语句结束符。使用和是的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。命名的关键字参数作用为了限制调用者可以传入的参数名,同时可以提供默认值。 Run 源代码 Python源代码的文件以py为扩展名,由Python程序解释,不需要编译 命令:python 文件 字节代码 Python源文件经过编译后生成的扩展名为pyc的文件编译方法: import py_c...

    mindwind 评论0 收藏0
  • python中的listtuplesetdict(参考python文档)

    摘要:声明一个很简单,只需尽量不要将变量名起为关键字。有如下基本方法在的末尾添加一个元素,并且返回将另一个的对象添加到尾部,返回值为。返回值为删掉的元素。为一个表达式,传入当前元素,返回时依据德关键字。 1.list 声明一个list很简单,只需list1=[](尽量不要将变量名起为关键字list)。list有如下基本方法: (1)append(x) 在list的末尾添加一个元素x,并且返回...

    NervosNetwork 评论0 收藏0
  • python 历险记——一个 Java 程序员的告白(一)

    摘要:元组也支持内置函数的参数必须是一个序列字符串列表元组元组有什么用既然中有这么个数据结构,自然就有它的用武之地。 引言 想学爬虫还是 python 专业啊,之前一直在用 java, 现在决定尝尝鲜,使用 python及爬虫框架来完成网络数据采集。编程语言之间都是相通的,比如都需要模块化,引入其他文件来实现功能,使用列表等容器来处理数据,都要使用 json 或 xml 来解析和传输数据。你...

    leejan97 评论0 收藏0
  • python 历险记——一个 Java 程序员的告白(一)

    摘要:元组也支持内置函数的参数必须是一个序列字符串列表元组元组有什么用既然中有这么个数据结构,自然就有它的用武之地。 引言 想学爬虫还是 python 专业啊,之前一直在用 java, 现在决定尝尝鲜,使用 python及爬虫框架来完成网络数据采集。编程语言之间都是相通的,比如都需要模块化,引入其他文件来实现功能,使用列表等容器来处理数据,都要使用 json 或 xml 来解析和传输数据。你...

    newtrek 评论0 收藏0
  • 3-python 元组 字典 集合的操作

    摘要:元组本质是一种有序集合和相似元组是不可变的用创建其中类型可以不同如果一个元组中只有一个元素,在这个元素后面加一个逗号来消除歧义修改元组表面上看,的元素改变了,但实际上变得不是的元素,是的元素删除被直接删除数据类型转换字典字典中的必须唯一值必 元组 tuple 本质是一种有序集合 和list相似 元组是不可变的 用()创建 其中类型可以不同 如果一个元组中只有一个元素,在这个元素后面加...

    CKJOKER 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<