关于组合数据类型的基础知识学习总结

本文详细介绍了Python中的四种主要组合数据类型:列表、元组、集合和字典。重点讲解了每种类型的声明、特点、数据操作,包括增加、删除、修改和查询等,并提供了具体的示例代码。对于字典,还讨论了如何增加、查询和修改数据,以及使用成员运算符和删除方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表 list

类型:list

特点:按照有顺序的可以存储多个可以重复的数据

声明方法:

         空列表的声明:x=list()   行业规范推荐

         非空列表声明:x=[1,2,3]  行业规范推荐

数据操作-增加

append(想要增加的数据obj):末尾增加一个数据,

例如:x.append(4):

Print(x)

输出结果:[1,2,3,4]

insert(下标index,数据obj):指定位置增加一个数据

例如:x.insert(1,5)

      Print(x)

输出结果:[1,5,2,3,4]

extend(seq):末尾增加一组数据,如列表

例如:x.extend([6,7]):

      Print(x)

  输出结果:[1,5,2,3,4,[6,7]]

 

   数据操作-删除:

        del x[下标index]:根据下标/编号删除一个数据

        下标必须是列表长度范围之内,超出范围就会越界错误

         例如:del x[1]:

              Print(x)

              输出结果:[1,2,3,4,[6,7]]

          remove(数据obj):指定删除一个数据

           例如:x.remove(4):

                 Print(x)

            输出结果:[1,2,3,4]

pop:在列表中删除末尾的一个数据

例如:x.pop():

      Print(x)

输出结果:[1,2,3]

clear: 清空列表

del: 删除列表

数据操作-修改:

         X[index]=new value 通过下标/编号 直接给当前编号的数据重新赋值

         例如:x[0]=’5’

               Print(x)        输出结果:[5,2,3]

数据操作-查询:

         X[1] 通过下标直接查询该下标位置的数据

         例如:print(x[1])

          输出结果:2

        for s in x:

          print(s)  将x列表中的数据依次存放到s临时变量中并展示出来

        输出结果:5

                  2

                  3

列表拓展:

        x.count(obj):查看某个指定的数据obj在列表中出现的次数

        x.index(obj):查看某个指定的数据在列表中的位置/下标/编号

        x.sort():按照自然顺序排序

        x.reverse():翻转顺序

        len.x :查看列表长度,查看列表中是否有数据

 

元组 tuple

类型:tuple

特点:可以存储多个的,重复的,有顺序的不能修改的数据

声明:x=tuple() 声明一个空元组【推荐】

      X=(‘hello’,’word’)声明一个非空元组【推荐】

      tuple(obj)类型转换,

数据操作—查询(元组特殊性:查询)

             ‘count’:查看某个指定的数据,在元组中出现的次数

             ‘index’:查看某个指定的数据在元组中出现的位置

             ‘len(x)’:查看元组中元素出现的个数

             ‘max(x)’/’min’:查看元组中最大/最小值

集合 set

类型:set

特点:可以存放多个的,无序的 不能重复的数据

声明:s=set() 声明一个空集合【推荐】

      S={1,2,3,4}声明一个非空集合【推荐】

数据操作-增加:

            s.add()在集合中增加一个数据

数据操作-修改:

        在集合中修改数据,因为集合是无序的,所以不能确定数据位置直接修改。

        首先需要查询集合中的数据,确定要修改的数据在集合里,然后将该数据删除,再将想要的数据添加进去就可以了

具体操作如下:

              S={1,2,3,4}声明一个非空集合

              print(1 in s)查询数据1是否存在

              if 1 in s:

                 s.remove(1)将数据1删除

                 s.add(5)将数据5添加

                 print(s)

                 输出结果:{5,2,3,4}    完成数据修改

数据操作—查询:

              查询数据只有遍历查询

               for x in s:

                  print(s)

               输出结果:{5,2,3,4}

数据操作—删除:

              s.pop:随机删除一个数据

              s.remove:删除一个具体的数据

              s.clear:清空集合

              del s :删除集合

字典(重点)dict

#声明一个空字典
d=dict()#推荐
d2={}

#定义一个非空字典
d3={'青云门':'张小凡','鬼王宗':'碧瑶','炼血堂':'野狗'}#推荐
print(d3)
#输出结果:{'青云门': '张小凡', '鬼王宗': '碧瑶', '炼血堂': '野狗'}


# 1.
增加数据
#keyvalue都是基本数据类型,都是字符串
d3['青云门']='道玄'
print(d3)
#输出结果:{'青云门': '道玄', '鬼王宗': '碧瑶', '炼血堂': '野狗'}

#key
是一个字符串,value是一个列表
d3['鬼王宗']=['鬼王','青龙']
print(d3)
#输出结果:{'青云门': '道玄', '鬼王宗': ['鬼王', '青龙'], '炼血堂': '野狗'}

#key
是一个字符串,value是一个字典
d3['炼血堂']={'堂主':'血老大','喽啰':'野狗'}
print(d3)
#输出结果:{'青云门': '道玄', '鬼王宗': ['鬼王', '青龙'], '炼血堂': {'堂主': '血老大', '喽啰': '野狗'}}

#setdefault#
如果青云门(key)已存在,则不会在已有的key上添加value的数据
d3.setdefault('青云门','田不易')#代码什么都不做
print(d3)
#key不存在,则新增一个数据
d3.setdefault('合欢宗','金瓶儿')
print(d3)
#输出结果:{'青云门': '道玄', '鬼王宗': ['鬼王', '青龙'], '炼血堂': {'堂主': '血老大', '喽啰': '野狗'}, '合欢宗': '金瓶儿'}

#2.
查询数据
#通过key直接查询value
print(d3['鬼王宗'])
#输出结果:['鬼王', '青龙']
print(d3.get('炼血堂'))
#输出结果:{'堂主': '血老大', '喽啰': '野狗'}

#
循环遍历key
for x in d3:
   
print("---->",x,':',d3.get(x))
'''
输出结果:
----> 青云门 : 道玄
----> 鬼王宗 : ['鬼王', '青龙']
---->
炼血堂 : {'堂主': '血老大', '喽啰': '野狗'}
---->
合欢宗 : 金瓶儿

'''

#查询字典的key
print(d3.keys())
#输出结果:dict_keys(['青云门', '鬼王宗', '炼血堂', '合欢宗'])

#
查询字典中所有的value
print(d3.values())
#输出结果:dict_values(['道玄', ['鬼王', '青龙'], {'堂主': '血老大', '喽啰': '野狗'}, '金瓶儿'])

#查询字典中所有item【键值对】值
print(d3.items())
#输出结果:dict_items([('青云门', '道玄'), ('鬼王宗', ['鬼王', '青龙']), ('炼血堂', {'堂主': '血老大', '喽啰': '野狗'}), ('合欢宗', '金瓶儿')])

#
循环遍历keys
for x in d3.keys():
   
print(x,'--->',d3.get(x))
'''
输出结果:
与循环遍历
key值作用相同
青云门
---> 道玄
鬼王宗
---> ['鬼王', '青龙']
炼血堂 ---> {'堂主': '血老大', '喽啰': '野狗'}
合欢宗 ---> 金瓶儿
'''

#循环遍历 键值对
for k,v in d3.items():
   
print(k,'--itmes--',v)
'''
输出结果:
青云门
--itmes-- 道玄
鬼王宗
--itmes-- ['鬼王', '青龙']
炼血堂 --itmes-- {'堂主': '血老大', '喽啰': '野狗'}
合欢宗 --itmes-- 金瓶儿

'''

#3.修改数据
d3['青云门']='田不易'
print(d3)
#输出结果:{'青云门': '田不易', '鬼王宗': ['鬼王', '青龙'], '炼血堂': {'堂主': '血老大', '喽啰': '野狗'}, '合欢宗': '金瓶儿'}

#
拓展:成员运算符 “in”
print('鬼王宗' in d3)#判断指定的数据是否包含在字典的key
#输出结果:True

#
删除数据
#删除一个指定key值的键值对
d3.pop('炼血堂')
print(d3)
#输出结果:{'青云门': '田不易', '鬼王宗': ['鬼王', '青龙'], '合欢宗': '金瓶儿'}

#
随机删除一个
print(d3.popitem())
print(d3)

#清空字典
d3.clear()
print(d3)

 

 

 

       

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值