python学习之路---day04

一:元组

    元组案例:tuple=("张三","李四","王五","小六","大七",["1","2","3","4"])
特点:不可变  只读列表。 也有索引 和切片功能
 
 
  01):把字符串通过小括号()括起来,中间通过逗号(,)链接连接起来的就是元组。如果元素中有列表,
          则列表这个元素是不需要加双引号的,如上案例!
    02):元组中间的元素是不能改变的!(因为元素内部第一层的内存地址是无法改变的)但是如果元素中间有列表,
          那那个列表是可以改变的! 案例中tuple[5]的列表是可以改变的!
          (元组的不可变. 元组的不可变指的是元组内部第一层元素的内存地址)
    03):元组也是有索引的(也是从左往右,从0开始数)
          案例中:tuple[0]="张三" 打印:张三
                  tuple[5]=['1', '2', '3', '4']  打印:['1', '2', '3', '4']
    04):tuple_1=("123",)  元组中如果只有一个元素,则必须加一个逗号。
    05):tuple=("张三","李四","王五","小六","大七",["1","2","3","4"])
        元组不可改变,所以是不能增加元素的但是元组里的列表是可以增删改除的
        tuple[5]=["1","2","3","4"]
        例如增加:tuple.append("678") 打印:tuple[5]=["1","2","3","4""678"]
    06):当强行改变元组的元素时会报错!
         tuple=("张三","李四","王五","小六","大七",["1","2","3","4"])
         tuple[1]="诸葛型"  报错:TypeError: 'tuple' object does not support item assignment
二:列表:lst(不能用“list” 这个单词做列表的名字,这样会覆盖掉元素里面的python里面的关键字)
    01):列表:可以装对象的对象(像书包里装电脑)(可以装任何元素),排列顺序按照我们添加的顺序保存!
    02):在代码中用 []  表示,里面可以放任何数据("" 空元素也是可以放的。 )。中间通过  逗号(,)链接,
           一定要注意是实在英文状态下的标点符号
  03):列表也是有增删改查的功能
          # 例子:  lst = ["字符", 0, True, ["123",[], []]]
          001):列表元素读取:lst[0]  打印结果: 字符
          002):切片:lst[0:2]     打印:['字符', 0]
                                    -----〉〉〉切片打印后的结果是一个列表。
                 列表切片也是顾头不顾尾  lst[0:2)  前闭后开
增删改查:
01)增
       1:  .append() 是追加在末尾。
              lst=["1","2","3","4","5","6"]
              print(lst.append("7"))  打印:None  # 可变的数据类型 没有返回值
              正确代码:st=["1","2","3","4","5","6"]
                    lst.append("7")
                    print(lst)    打印结果:st=["1","2","3","4","5","6","7"]

            2:  .insert()插入到指定位置上
                lst=["1","2","3","4","5","6"]
                lst.insert(索引,"内容")    插入的是
                list.insert(1,"9999")  打印结果: ['1', '9999', '2', '3', '4', '5', '6']

            3:  .extend()  迭代添加(会把添加的内容分开往后面添加)
                lst=["1","2","3","4","5","6"]
                lst.extend("言午许")
                print(lst)  打印结果:['1', '2', '3', '4', '5', '6', '', '', '']

                如果不需要他进行迭代添加,则只需要将其变成列表就行:
                例如:
                lst=["1","2","3","4","5","6"]
                lst.extend(["言午许"])
                print(lst)  打印结果:  ['1', '2', '3', '4', '5', '6', '言午许']
      02)删
        一:单个元素删除:删除指定的元素
                del
                   lst=["1","2","3","4","5","6"]
                   del lst[0]
                   print(lst)
                   del 列表名[索引] 是删除列表中索引的的对应的元素
                del  批量删除
                   lst=["1","2","3","4","5","6"]
                   del lst[1]     类似pop删除    --〉['1', '3', '4', '5', '6']
                   del lst[2:]   批量删除 --->['1', '2']
                   del lst[0:5:1]  切片删除(从0到5  没两个数删除一个数)--->['1', '3', '5', '6']

                clear  清空列表
                   lst=["1","2","3","4","5","6"]
                   lst.clear()
                   print(lst)    打印:[]

                pop:
                lst=["1","2","3","4","5","6"]
                lst.pop(0)  ----〉〉〉此时括号变成了小括号
                print(lst)
      03)改
指定位置修改:
                lst=["1","2","3","4","5","6"]
                lst[3]="9999"
                print(lst)  打印:['1', '2', '3', '9999', '5', '6']

            迭代修改:
                lst=["1","2","3","4","5","6"]
                lst[1:4]="言午许"
                print(lst)     打印:  ['1', '', '', '', '5', '6']

            切片修改:
                lst=["1","2","3","4","5","6"]
                lst[::2]=["小猫","小狗"]
                print(lst)
                打印:ValueError: attempt to assign sequence of size 2 to extended slice of size 3
                此时:切片的出来步长 如果不是1,那么给定的元素必须要要和切出来的元素个数一样,那么才有
                足够的元素去填补被切掉的部分。(同给的元素多了,切割的位置不够也还是会报错的!--〉
                            ValueError: attempt to assign sequence of size 3 to extended slice of size 2)

               修改后的代码:
                lst=["1","2","3","4","5","6"]
                lst[::2]=["小猫","小狗","旺财"]
                print(lst)
                打印结果:['小猫', '2', '小狗', '4', '旺财', '6']
      04):查
          lst=['小猫', '2', '小狗', '4', '旺财', '6']
                for n in lst
                    #n 表示lst中的每一项
                    print(n)
                    打印结果:
                            小猫
                            2
                            小狗
                            4
                            旺财
三:排序:
01):
从小到大排序
      # 切记。不要给字符串排序, 等后面内置函数的时候
         # lst.sort() # 排序. 从小到大. 升序
         lst = [1, 2, 4, 21, 4, 2, 22, 123, 4, 68]
         lst.sort()
         print(lst)
         打印结果:[1, 2, 2, 4, 4, 4, 21, 22, 68, 123]
     从大到小排序
      lst = [1, 2, 4, 21, 76, 2, 22, 123, 4, 68]
         lst.sort(reverse=True)
         print(lst)  打印结果:   [123, 76, 68, 22, 21, 4, 4, 2, 2, 1]

         lst = [1, 2, 4, 21, 4, 2, 22, 123, 4, 68]
         lst.reverse()   #将列表翻转过来
         print(lst)   打印结果:[68, 4, 123, 22, 2, 4, 21, 4, 2, 1]
         print(len(lst))  打印结果:10   指列表的元素个数(即 列表的长度)
四:列表嵌套:
lst = [["葫芦娃", "黑猫警长","西游记"], ["武斗乾坤", "wahaha", "斗破苍穹", "盘龙"], ["三体", "明朝那些事儿"]]
      将wahaha里面的h改为”恩“
      lst[1][1]=lst[1][1].replace("h","")
        #直接打印print(lst[1][1].replace("h","恩"))  打印结果和原来是一样的,因为原列表下lst[1][1]是一个字符串,
        #必须要先将重新改掉的字符串赋给一个新的变量才行。
      print(lst)  打印结果:[['葫芦娃', '黑猫警长', '西游记'], ['武斗乾坤', 'wa恩a恩a', '斗破苍穹', '盘龙'], ['三体', '明朝那些事儿']]
      # lst[1].insert(1, "大闹天宫") # 对于内部元素如果是可变的数据类型。 直接改就行了


转载于:https://www.cnblogs.com/one-tom/p/9831043.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值