Python3中列表,元组,字典,集合的简要分析,简介和相关操作

python数据结构:
          1.列表 :相当于一个容器,里边可以存放多个数据(可以不同类型),一次可以处理多个数据,变量只能存放一个数据,                           一次只能存放一个数据
            
             在列表中存值(添加数据):

                list.append() 在列表的末尾一次性添加个数据
                list.append([]) ,list.append(()),list.append({})添加列表,元组,字典时相当于添加一个数据 
                list.extend([]) 在列表的末尾一次性添加多个数据,要以列表形式添加,在列表中也可嵌套元组,字典
                list.insert(插入位置,插入数据) 在指定位置(下标)添加一条数据,其余数据后移,不会覆盖原数据。
                插入数据可以是字符串,列表,元组,字典,不过都相当于一个数据。
        
             列表的运算:

                list1+list2=两个列表拼接成一个列表
                list*数字(只能是与整数或者被赋予整数的变量相乘) 乘几就是在一个列表中重复输出几次list的元素

             列表的判断:

                in:判断某一个元素在不在列表中  在  True  不在  False       格式:  if 需要判断的元素 in 列表:
                not in:判断某一个元素在不在列表中  在True 不在False    格式: if 需要判断的元素 not in 列表:

             在列表中删除数据:

                list.remove(指定元素)  要是没有指定要删除的元素,则报错
                list.pop(指定下标) 如果括号内不写则默认删除列表最后一个元素
                list.clear() 清空该列表所有元素

             查找元素:

                len(list) 查长度
                list.index() 根据元素查下标,要是列表中有相同元素,则输出该元素最小的下标(即第一个出现该元素的位置),要是列表内没有要查找的元素则报错
                list.count()查找元素在列表中出现的个数

             截取(切片):

                list[a:b]  a,b为列表下标
                list[a:b] 截取从a-b之间的元素,不包含最大值b
                list[:b]   截取从0到b之间的元素,不包含最大值b
                list[a:]   截取从a到len(list[])-1之间的元素
                list[a::b] 截取从a到len(list[])-1之间的元素,  a>0 正截(左边开始)  a<0 反截(右边开始)    b代表步长 b>0 正加(往右边走)  b<0 反加(往左边走)

             排序:

                list.sort[]  升序 从小到大
                list.reverse[]   倒序,只是把列表元素反过来输出,不是降序  想降序必须先list.sort[]升序后再list.reverse[]

             复制:

                在程序当中运行内存一般包括两块内容
                栈:整数,小数,布尔存栈
                堆:字符串,列表等等全在堆存储
                变量存栈,值存堆
                =复制的是地址值,一个改变会影响另一个(浅拷贝就是只拷贝栈中对应堆中的地址)
                list.copy() 复制的数据,不会影响(深拷贝就是直接找到堆中的数据赋予另一个变量)
                  这里存在一个逻辑问题(很重要)
                  在.py中分别运行下边两个代码块:
                      ①    a=[1,2,3,4]                                                         ②  a=[1,2,3,4]
                             b=a                                                                          b=a.copy()
                             b[0]=2                                                                      b[0]=2
                             print(a,b)                                                                  print(a,b)
                  观察区别(先别看下边的解释):


                

             这个题理解之后我们再看另外一道题:

              *********(待补充)**********

             列表的特点:

                1.列表单词是list[]
                2.列表是可变的
                3.列表中可以存储不同类型的数据
                4.列表有下标

             列表的遍历:   一个一个获取

                while 循环变量是下标
                for   循环变量是列表中的元素

                age_list=[1,2,3,4,5,6,7,8,9]  #创建一个叫age_list的列表
                print(len(age_list))#查看列表中有多少个元素,获取列表长度
                print(age_list[3])#获取所填下标的元素(数据)
             练习:

               #添加
               i=0                                       # 下标变量
               sum=0                                 #求和变量  
               while i<=len(age_list)-1:   
                       sum += age_list[i]
                       i+=1
               print(sum)
               print(max(age_list))

              list=[1,2,3]
              list.append(10)            
              list.append([10,20])
              list.extend([30,40])
              list.insert(1,2000)
              print(list)

             小练习:从键盘录入成绩,输入负数结束。
                    list1=[]
                    sum=0
                    while True:
                            age=int(input('请输入年龄:'))
                            if age<0:
                                print('输入错误,程序结束')
                                break
                            else:
                                list1.append(age)
                                sum+=age
                            print('最大值:',max(list1))
                            print(sum)
                            print(list1)

                 #删除
                   list2=[1,2,3,4,5,'a','b']
                   list2.remove('a')
                   print(list2)
                   list2.pop(2)
                   print(list2)
                   list2.pop()
                   print(list2)
                   list2.clear()
                   print(list2)

                 #复制  复制这有一个考点  注意看代码和运行结果 上边基础知识我大概讲了一下
                   list3=[1,2,3]
                   list4=list3
                   list4[0]=200
                   print(list4)
                   print(list3)
                   list4=list3.copy()
                   list4[0]=10
                   print(list4)
                   print(list3)
                #遍历
                   list5=['a','b','c','d','e']
                   i=0
                   while i<len(list5):
                        print(list5[i],end=' ')
                        i+=1
                   print()
               #此处的i为下标
                    for i in list5:
                         print(i,end=' ')
               #此处的i为列表中的元素

  2.元组
              1.元组的单词是tuple   标志是()
              2.元组一旦创建不可更改
              3.元组操作:截取 查找(长度,下标,次数)拼接+ 重复* 复制
              4.元素特点:因为不能修改,所以比较安全
              5.元组和列表可以互相转换
              6.元素是有序的

         #创建一个元组
         tuple1=()
         print(type(tuple1))
         #创建一个有多个数据的元组
         tuple2=(1,2,3,4)
         print(tuple2)
         #创建一个数据的元组
         tuple3=(1,)  #此处的逗号必须加上,不写则为整数类型
         print(tuple3)
        #截取(切片)
         print(tuple2[1:])
         tuple4=(1,2,"a","b")
         print(tuple4.index(2))
         print(tuple4.count("a"))
        #拼接
         tuple5=("c","d")
         tuple6=tuple4+tuple5
         print(tuple6)
        #复制   因为元组内容不能修改,所以没有列表中复制那个考点 
         tuple7=tuple5
         print(tuple7)
        #转换
         tuple8=("a","b","c")
         list1=list(tuple8)
         list1[0]="aa"
         print(list1)
         print(tuple8)
         tuple9=tuple(list1)
         print(tuple9)

   3.字典:是一个键值对形式的数据结构
                 字典是没有下标的
                 字典是无序的
                 字典的键是唯一的
                 字典dict 标志是{}
                 添加数据 dict['键']=值  dict.updata({'键':值})
                 删除数据 dict.pop('键')  只能根据键进行删除 括号内不写报错
                 print(dic.get('键')) 字典中有对应的值时 输出,否则输出None
                 字典的遍历:
                 不能用whlie遍历  因为没有下标
                 只能用for遍历

               # 创建字典
                dic={"张三":100,"李四":0,"asd":1,"abc":2}
                print(dic["张三"])
                print(dic)
              # 在字典中添加值
                dic["王五"]=90
                dic.update({"aaa":30})
              # 根据键去删除
                dic.pop("李四")
              # dic.pop() 因为字典是无序的,到底谁是最后一个不知道,会报错
                print(dic)
                print("----------------")
              # 报错
              # print(dic["张三1"])
              # None空值 不报错
                print(dic.get("张三1"))
              #遍历键
                for i in dic:
                    print(i)
               #根据键得到值
                for i in dic:
               # print(dic[i])
                  print(dic.get(i))
               #遍历键
               for i in dic.keys():
                         print(i)
               #遍历值
                for i in dic.values():
                         print(i)
               #遍历键和值
                for i,j in dic.items():
                         print(i,j)
4.集合

*********待补充********

            作为刚刚学习python3的菜鸟,我只是把我每天学习的内容分享出来,由于水平还有限,一些题的解题方法,用目前所学的知识解起来都显得比较笨拙与复杂,不过也没办法,谁让这是老师的要求不能用后边的知识呢,毕竟用目前所学的知识解题有很大的局限性,随着课程的学习,我会回过头重新来过,用新的知识去写解题方法。如果我的笔记有任何问题,请及时与我联系,我会及时更改,谢谢。

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XeeP--H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值