zoukankan      html  css  js  c++  java
  • 第四章 python基础之list 元组 字典 及拷贝

    ------------恢复内容开始------------

    1.列表list的常用方法:

    list 的增删改查,建立空列表 如 cities = []

       1)增加       append和insert方法

           cities.append('北京') #在列表末尾增加一个元素(依次增加)

           cities.insert(0,'上海') #在指定的位置增加元素  角标从0开始

       2)删除        pop,remove,clear和del方法

          cities.pop(0) #删除指定位置的元素

          cities.remove('北京')#删除指定的元素   不能指定位置

          cities.clear() #清空list

          del cities[-1] #删除指定位置的

       3)修改

           cities[1]='南京' #修改的时候如果指定的下标不存在,会报错

       4)  查找   指定下标和index count(统计)

           print(cities[0]) #指定位置的

           print(cities.index('广州')) #获取元素的下标,如果找不到那个元素的话,会报错

           print(cities.count('广州')) #查看元素在list里面出现了多少次

    list排序相关的一些用法

    1)列表元素反转    reverse()方法

                 print(my_list.reverse()) #就是把这个list反转一下    此次打印结果为 none   只排序无结果 无返回结果

                 print(my_list)   # 打印反转后的结果

            2)升序和降序     sort()方法

                    nums.sort() #排序,升序

                    nums.sort(reverse=True) #  降序    通过reverse方法

                    print(nums)   # 数字和字母 字符串都可以排序

             3)合并list      

                 print(cities+cities2)#合并list    两个list相加

              4)复制list

                  print(cities*3) #复制几次

                  print('哈哈哈'*3)#字符串也可以复制

               5)针对多维数组 可根据位置依次递进查找

             例如:

                 words = ['view','code','tools',['price','num',198,['hello','usa','吃鸡']] ] #二维数组

                 print(words[-1][-1][1])   #usa

                 names=[ ['小黑',['小绿',138]],'小红',['小紫',['小白']]]

     len(username)  用来统计该变量的字符长度。

    2. .list 切片(list的一种取值方式)

    print(nums[1:3])  #顾头不顾尾

    print(nums[1:]) #如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写

    print(nums[:2]) #如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写

    print(nums[:]) #取所有的

    print(lis[::2]) #步长,隔几个取一次# 如果步长是正数的话,从左往右边开始取值

    print(lis[::-2]) #步长,隔几个取一次# 如果步长是负数的话,从右边往左边开始取值

    print(lis[::-1]) #反转list

    print(lis)#所有值

    print(lis[1::-1])# 取值为[2,1]  *list[1’:2’:3’]取值先1’再3’最后2’的顺序规律

    print(lis[:])#所有值

    lis.reverse()  #改变了原来list的值 reverse会将中的值反序写入

    new_list = lis[::-1]  #产生了新的一个list,不会改变原来list的值  会将新值写入new_list

    3.元组tuple(元组也是一个list,他和list的区别是,元组里面元素无法修改)

    #如果元组里面 只有一个元素的话,那么你必须在这个元素后面加一个逗号

    t = (1,2,4,5,6,7)   #用小括号括起来

    words=(1,)     #只有一个数字

    words2=('abc',)   #只有一个字符串

    print('t',type(t))  #类型为tuple

    print('words',type(words))

    print('words2',type(words2))

    print(t.index(2)) # 通过index()找到元素的下表

    print(t.count(2)) #找到元素的个数

    4. 字典dict(字典是通过key - value 形式存放数据的)

    字典的优点 1、取数据方便2、速度快  格式如:infos  =  {'name':'张流量','sex':'男','addr':'火星','age':180}

    查找

    print(infos.get('phone'))#取不到这个key的话,就是None

    print(infos.get('phone',110))#如果取不到这个key的话,默认就是110  可以添加错误返回结果帮助查看。

    print(infos['phone'])#如果key不存在会报错(打印相应的value值)

    #增

    infos['phone']=13611087045 #增加一个key

    infos.setdefault('小金库','2000w')

    infos.setdefault('name','鹏妹妹') #如果key存在的话,不会修改原来key里面的值

    infos['name']='鹏妹妹' #如果key存在的话,会修改原来key对应的value

    # print(infos)

    **字典是无序的 

    #修改

    infos['name']='鹏妹妹'  #直接指定key和value

    #删除

    # infos.pop('name') #指定key来删除

    # infos.popitem() #随机删除一个key

    # del infos['phone'] #指定key来删除

    # infos.clear()  #清空字典

    #方法

    # print(infos.values())#获取到字典所有的value

    # print(infos.keys()) #获取到字典所有的key

    # print(infos.items()) # 获取字典所有的k-v

                  #直接循环一个字典的话,那么循环的是字典的key 如:

     for p in people:

    print(p)

                          for k,v in people.items():  #循环的时候,同时取key和value

                         print(k,'======》',v)

                     print( '123456' in users )   #字典里面用in来判断的话,只是判断key是否存在

    补存内容(拷贝和列表生成式):

    #浅拷贝 深拷贝

    浅拷贝内存地址不变  深拷贝内存地址改变 

    地址改变不一定是浅拷贝 如二维数组

    l2 = l[:]#浅拷贝

    l2 = copy.deepcopy()#深拷贝

    l3 = l.copy()  #浅拷贝  虽然内存地址 但不是深拷贝

    copy.copy()#浅拷贝

    #列表生成式

    l = [1,2,3,4,5]

    for i in l:

        l2.append(str(i))

    l2 = [str(i) for i in l]  #和上面实现的功能相同

    l3 = [i for i in range(10) if i%2==0]  #后面可以加条件进行判断

    l3=[]

    for i in range(10):

        if i % 2 == 0:

            l3.append(i)

    print(l3)

  • 相关阅读:
    DELPHI中Showmodal与Show的区别
    怎样把一个文件夹里面所有文件的文件名提取出来,放到Excel表格里呢
    Python基础之函数
    Python_Openpyxl
    设计模式
    【转】深入理解递归函数的调用过程
    Java集合的Stack、Queue、Map的遍历
    数据结构-String、char
    leetcode-位运算
    Java web入门
  • 原文地址:https://www.cnblogs.com/cslw5566/p/12292906.html
Copyright © 2011-2022 走看看