python 元组 列表 字典区别_Python列表、元组、字典、集合、字符串的异同总结
1.数据类型
列表、元组、字典、集合、字符串均属于python3的标准数据类型。
字符串和元组属于不可变数据,即创建后不可修改。
列表、字典、集合属于可变数据,即创建后可以修改元素。
2.创建有元素的对象
3.创建没有元素的对象
列表使用eval()或list()或中括号[]进行创建,元素之间使用逗号分隔。若不添加任何元素,则创建空列表。
#使用[]创建
list_ = [1, 2, 3, 4, 5]print(type(list_)) ##使用eval()创建,eval()方法用来执行一个字符串表达式,并返回表达式的值
list_ = eval("[1,2,3,4,5]")print(type(list_)) ##使用list()创建,list()方法用于将元组转换为列表
list_ = list((1, 2, 3, 4, 5))print(type(list_)) #
元组使用eval()或tuple()或小括号()进行创建,元素之间使用逗号分隔。若不添加任何元素,则创建空元组。如果元组只有一个元素,则必须在这个元素后面加上逗号。
#使用()创建
tuple_ = (1, 2, 3, 4, 5)print(type(tuple_)) ##使用eval()创建
tuple_ = eval("(1,2,3,4,5)")print(type(tuple_)) ##使用tuple()创建,tuple()函数用于将列表转换为元组
tuple_ = tuple([1, 2, 3, 4, 5])print(type(tuple_)) #
字典使用eval()或dict()函数或者大括号{}创建,元素之间用逗号分隔。每个元素必须是一个键(key)值(value)对。若不添加任何元素,则创建空字典。
#使用{}创建
dict_ = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}print(type(dict_)) ##使用eval()创建
dict_ = eval("{'a':1,'b':2,'c':3,'d':4,'e':5}")print(type(dict_)) ##使用dict()创建
dict_ = dict(a=1, b=2, c=3, d=4, e=5) #传入关键字方式来构造字典
print(type(dict_)) #
dict_ = dict(zip(['a', 'b', 'c', 'd', 'e'], [1, 2, 3, 4, 5])) #映射函数方式来构造字典
print(type(dict_)) #
dict_ = dict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]) #可迭代对象方式来构造字典
print(type(dict_)) #
集合使用eval()或set()或{}进行创建,元素之间使用逗号分隔。由于{}用于创建空字典,所以只能通过不传参的set()来创建空集合。
#使用{}创建
set_ = {1, 2, 3, 4, 5}print(type(set_)) ##使用eval()创建
set_ = eval("{1,2,3,4,5}")print(type(set_)) ##使用set()创建,参数为可迭代对象
set_ = set("python")print(type(set_)) #
字符串使用str()或单引号''或双引号""进行创建,引号内元素为一个整体,不需要使用分隔符。若引号内不添加字符或str()不传参,则创建空字符串
#使用引号创建
str_ = '12345'
print(type(str_)) ##使用str()创建
str_ = str(12345)print(type(str_)) #
4.元素的类型
5.元素是否可以重复
6.元素顺序
列表内的元素可以为任意类型。元素之间可以重复。元素顺序遵循创建时的顺序。
list_ = [1, 2.5, 1, "a", ["b"], ("c",), {"d": "e"}, {"f"}]print(list_) #[1, 2.5, 1, 'a', ['b'], ('c',), {'d': 'e'}, {'f'}]
元组内的元素可以为任意类型。元素之间可以重复。元素顺序遵循创建时的顺序。
tuple_ = (1, 2.5, 1, "a", ["b"], ("c",), {"d": "e"}, {"f"})print(tuple_) #(1, 2.5, 1, 'a', ['b'], ('c',), {'d': 'e'}, {'f'})
字典中的键只能为数字、字符串、元组类型,值可以为任意类型。键(key)是唯一的,可以多次赋值(value)。若对应的键多次赋值,则后面赋的值会覆盖前面赋的值。元素顺序遵循创建时的顺序。
dict_ = {1: ["a"], 2.5:("b",), "c":{"d": "e"}, True:["f"], ("f",):{"g"}}print(dict_) #{1: ['f'], 2.5: ('b',), 'c': {'d': 'e'}, ('f',): {'g'}} True际上是1,所以覆盖了前面的["a"]
集合内的元素只能为数字、字符串、元组类型。集合会在创建时自动剔除重复元素。元素顺序随机。
set_ = {1, 2.5, 1, "a", ("b",)}print(set_) #{'a', 1, 2.5, ('b',)}
字符串创建时,引号内可以是任意字符。若在引号前加r,则不对引号内的字符转义。不存在重复元素和元素顺序的说法,因为字符串创建后就不能修改了。
str_ = "123\tabc"
print(str_) #123 abc
str_ = r'123\tabc'
print(str_) #123\tabc
7.访问元素
8.修改元素
列表、元组、字典、集合、字符串都可以使用for遍历所有元素。
列表使用索引访问和修改指定位置元素。
list_ = [1, 2.5, 1, "a", ["b"], ("c",), {"d": "e"}, {"f"}]print(list_[1]) #2.5
list_[2] = 3
for e inlist_:print(e, end="\t")#1 2.5 3 a ['b'] ('c',) {'d': 'e'} {'f'}
元组使用索引访问指定位置元素。元组创建后不可修改。
tuple_ = (1, 2.5, 1, "a", ["b"], ("c",), {"d": "e"}, {"f"})print(tuple_[6]) #{'d': 'e'}
字典使用键(key)访问和修改指定元素。
dict_ = {1: ["a"], 2.5: ("b",), "c": {"d": "e"}, True: ["f"], ("f",): {"g"}}print(dict_[("f",)]) #{'g'}
dict_[True] = ["a"]for e indict_:print(str(e) + ":" + str(dict_[e]),end="\t")#1:['a'] 2.5:('b',) c:{'d': 'e'} ('f',):{'g'}
集合不能使用索引访问和修改元素。但可以通过先删除后添加实现修改元素。
set_ = {1, 2.5, 1, "a", ("b",)}
set_.remove(1)
set_.add(3)for i inset_:print(i, end="\t")#2.5 3 a ('b',)
字符串使用索引访问指定位置元素。字符串创建后不可修改。
str_ = r'123\tabc'
print(str_[3]) #\
9.切片
可以使用索引访问的都可以切片。即列表、元组、字符串可切片。
list_ = [1, 2.5, 1, "a", ["b"], ("c",), {"d": "e"}, {"f"}]print(list_[3:6]) #['a', ['b'], ('c',)]
tuple_ = (1, 2.5, 1, "a", ["b"], ("c",), {"d": "e"}, {"f"})print(tuple_[4:7]) #(['b'], ('c',), {'d': 'e'})
str_ = r'123\tabc'
print(str_[3:]) #\tabc
10.添加元素
11.删除元素
列表使用list.append(单个元素)方法在list列表末端增加一个元素;使用list.extend([元素1,元素2])在list列表末端增加多个元素;使用list.insert(索引,元素)在列表指定位置增加一个元素。使用list.remove(元素)从列表中删除一个元素;使用del list[索引]从列表中删除指定位置的元素;使用list.pop(索引)从列表中删除指定位置元素,返回值为删除的元素值,如果空参默认删除末尾元素;使用list.clear()清空整个列表。
list_ =[]
list_.insert(0, 0)
list_.append(1)
list_.extend([2, 3])print(list_) #[0, 1, 2, 3]
list_.remove(0)dellist_[0]
list_.pop(0)print(list_) #[3]
list_.clear()print(list_) #[]
元组一旦创建就不可修改,所以没有添加和删除元素的方法。可将元组转化为列表进行相应操作后再转为元组。
tuple_ =()
tuple_=list(tuple_)
tuple_.insert(0, 0)
tuple_.append(1)
tuple_.extend([2, 3])print(tuple(tuple_)) #(0, 1, 2, 3)
tuple_.remove(0)deltuple_[0]
tuple_.pop(0)print(tuple(tuple_)) #(3,)
tuple_.clear()print(tuple(tuple_)) #()
字典使用dict[key]=value添加元素,如果已存在该元素,则将其覆盖;使用dict.setdefault(key,value)添加元素,若该元素已存在,则不会将其覆盖,若只传一个参数,则key为该参数,value为None。使用dict.pop(key)删除元素,此方法必须传入一个key,若除key之外还传了一个参数,则这个参数作为key不存在时的方法返回值;使用dict.popitem()删除随机的一个元素;使用del dict[key]删除指定元素,使用dict.clear()清空整个字典。
dict_ = {0: ["a"]}
dict_.setdefault(1, ["a"])
dict_[True]= ["b"]
dict_[2.5] = ("c",)
dict_.setdefault("d")print(dict_) #{0: ['a'], 1: ['b'], 2.5: ('c',), 'd': None}
dict_.pop("d")
dict_.popitem()print(dict_) #{0: ['a'], 1: ['b']}
dict_.clear()print(dict_) #{}
集合使用set.add(元素)添加元素;使用set.update(元素)添加元素,此方法传参可以为多个,添加元素时会将参数中的列表、元组、字典、集合进行遍历添加。使用set.remove(元素)删除元素,元素不存在会报错KeyError;使用set.discard(元素)删除元素,元素不存在不会报错;使用set.pop()随即删除元素。
set_ = {1, 2.5, ("a",)}
set_.add(3)
set_.update([4, 5, 6], ("a",), {"b": 7}, {"c", "d"})print(set_) #{1, 2.5, 3, 4, 5, 6, 'a', 'b', 'd', 'c', ('a',)}
set_.remove(2.5)
set_.discard("a")
set_.pop()print(set_) #{3, 4, 5, 6, 'b', 'd', ('a',), 'c'}
字符串本质上不存在添加和删除元素的方法。可使用str.replace(old_str,new_str)进行字符串替换完成添加字符和删除字符的操作,也可以将其转化为列表进行添加和删除操作。
python 元组 列表 字典区别_Python列表、元组、字典、集合、字符串的异同总结相关推荐
- python集合与字典区别_Python中的字典与集合
今天我们来讲一讲python中的字典与集合 Dictionary:字典 Set:集合 字典的语法:Dictionary字典(键值对) 语法: dictionary = {key:value,key:v ...
- python中的字典和类的区别_Python中的 字典和字典数据类型
字典 1.字典是Python的内建数据类型,我们知道序列是以连续的整数为索引,而字典用关键字作为索引.特别的,关键字必须是不可变类型,常为字符串或者数值. #如果元组中只包含字符串和数字,它可以作为关 ...
- python 元组 列表 字典区别_python编程:常用的数据结构之字典的方法总结,和列表和元组区别...
字典是一种键:值的形式,我们前面分享的文章学习了列表[],元祖(),字典是由{}引起来的,列表的键对应的是列表的下标,而字典的值对应的是字典的键,我们可以通过字典的键来获取字典的值 元组和列表是有序的 ...
- python字典编码_Python列表,字典,元组,字符串操作,文件操作,字符编码
1. 列表操作 1.1 列表的定义: names = ["wangjing", "wangjun", "hashiqi"] names[0] ...
- python中元祖 字典 列表的区别_Python中元祖,列表,字典的区别
原博文 2016-08-16 15:25 − Python中有3种內建的数据结构:列表.元祖和字典: 1.列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 列表中的 ...
- python元组和列表的联系_Python 列表和元组
1.数据结构:通过某种方式组织在一起的数据元素的集合 2.在Python中,最基本的数据结构是序列(sequence),最后一个元素标记为-1,倒数第二个元素为-2,第一个元素位于最开始,索引为0 3 ...
- python列表字典的区别_python列表和字典区别
列表 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一个索引是0,序列的功能都能实现 ...
- python的元组是否能重复_python – 在带有元组的列表列表中查找重复项
我试图找到嵌套在列表中的元组内的重复项.整个建筑也是一个清单.如果有其他更好的方法来组织这个让我的问题得到解决 – 我很高兴知道,因为这是我在路上建立的东西. pairsList = [ [1, (1 ...
- python列表字典操作_Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
最新文章
- PowerDesigner的安装
- Juniper SRX防火墙系统会话链接的清除
- jsp指令元素与动作元素
- 服务器系统server 2008,windows server 2008 R2 操作系统
- vcneter5.5添加域用户权限
- Manjaro.常用命令/ Mnajaro安装后的配置
- 研究生不知道怎么看论文?赶紧把学长的经验码起来
- 相反数-网易校招编程题
- VRRP路由协议详解
- Jenkins 用户文档(运行多个步骤)
- php解析m3u8代码,m3u8后缀 视频解析接口源码
- DTCC2022 | openGauss打造企业级开源数据库,服务行业核心系统
- 数据结构——约瑟夫环(Joseph Circle)
- 博客神器 | 公式提取器Mathpix Snip
- vue 把组件方法暴露到window对象中
- Win打包jar文件
- 餐讯:“中国特许经营大会”揭秘100+餐饮连锁企业后厨管理武器
- 要关闭Windows是否需要shutdown.exe?
- HR谈薪之前,先要工资流水,礼貌吗?
- 【渗透测试】Cobalt Strike 插件 CrossC2(v3.0.2) 安装使用