zoukankan      html  css  js  c++  java
  • 列表,元组,range

    列表:格式[],内部用逗号隔开,对数据没有类型要求,列表可以增删改查,索引,切片.

    列表需要定位元素的下标,才能用replace()方法,replace()的参数必须是字符串

    索引和切片:

    lst = ["天龙八部","西游记","红楼梦","银瓶煤"]
    print(lst[3])
    print(lst(-3)]
    print(lst[1:4])  #切片,原来是什么类型,就得到什么类型
    print(lst[-1::-2])

    嵌套:

    lst = [["张艺谋", "冯小刚", "陈凯歌"], ["李安", "王家卫", "王晶"], ["周杰伦",["abc", "alex_wusir", ["胡辣汤", "c"]], "风扇哥"]]
    lst[1][2]="小脚"
    lst[2][1][1]= lst[2][1][1].replace("_","$")
    print(lst)

    增:

    1.append()       #末尾追加  直接再原内容上修改了
    
    2.insert(索引,元素)  #插入指定字符
    
    3.extend["胡辣汤","五花肉","猪头肉","五花肉"]  #把参数进行迭代.每一项添到列表末尾
    lst = ["凡人的春天","诛仙","神墓"]
    lst.append("看见")
    lst.insert(1,"清体")
    lst.extend(["胡辣汤","猪蹄子","猪头肉","五花肉"])
    View Code

    删:

    pop(index):删除列表元素,如果没找到索引报错.

    list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
    list_1.pop()  # 默认不写参数是删除末尾元素
    print(list_1)
    # 打印内容如下:
    ['abc', 145, True, ['小明', '小红', 278, 33.9]]

     pop(索引,提示信息):根据索引删除列表元素,如果没有打印一条提示信息

    list_1 = ["abc",145,True,["小明","小红",278,33.9],25.9]
    list_1.pop(1)  #  根据索引删除元素,删除第一个索引元素
    print(list_1)
    # 打印内容如下:
    ['abc', True, ['小明', '小红', 278, 33.9], 25.9]

    注意pop()删除是有返回值的,可以用一个变量来接收被删除的数据

    1.pop(index)      #根据索引删除
    
    2.remove(元素)      #根据元素删除
    View Code
    lst = ["斗破苍穹","手机","耳机","手表","耳环"]
    lst.pop()     #默认从后往前删除1个
    lst.pop(下标)     #按下标删除
    del lst[::2]       #用切片删除
    remove(元素)    #指定元素删除,元素不在报错  列表的第一层可以删,无法进入子层删
    lst.clear() #清空

    改:

    lst[下标]=元素  #下标修改 ,要改的元素类型是int,用这个.

    利⽤for循环和range,将1-30的数字⼀次添加到⼀个列表中,并循环这个列表,将能被3整除的数改成*。                                                                                                                                 
    s = []
    for i in range(1,31):
        s.append(i)
    for a in range(len(s)):
        if s[a]%3==0:          
            s[a]="*"      #for循环中,用下标修改的情景-.-!
    print(s)

    repalce()   #列表不能直接使用此方法,需要先定位元素的下标,而且元素类型不能是int,而且此方法的old和new必须都是字符串类

    lst = ["苏秦","武大","五二","宝元","李诞","赤字"]
    lst[1:3]=["马哈通"] #通过下标修改                       
    lst[1:5:2] = ["麻花藤","码云"] #切片,且步长非1,元素个数须跟切掉个数一致
    lst[1] = lst[1].replace("武大","WUSIR")  #replace参数只能是字符串类型

    查:

    for循环
    View Code

    列表的其他操作

    1.count()    #计数
    2.sort(reverse = True)    #反向排序
    3.reverse()  #翻转
    4.len()      #求长度

    ================================================================================================================

    sorted  对所有可迭代的对象进行排序操作。

    参数介绍:
    iterable -- 可迭代对象。
    key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)
    返回值:
    返回重新排序的列表。

     filter()   #函数, 用于过滤

    filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
      参数1为函数,参数2为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回True 的元素放到一个新的可迭代对象地址中。
    lst = ["张无忌","张三丰","胡辣汤"]
    a = filter(lambda a: "" not in a,lst)
    print(list(a))  #返回的是个可迭代地址,所以加个list,提取出来

     list(itable)    #把可迭代对象里面的内容全部取出来,形成一个列表,参数必须是个可迭代对象的地址

    元组:

     空元组:(,)  #小括号里有逗号就可以是元组
     元组不可变,但是元组里的可变类型的元素(列表等)能改

    ================================================================================================================

    range(参数1,参数2,参数3)   #每隔(参数3)个位置取一个

    fof i in range(10,20,3):
        print(i)
    lst = ["周杰伦", "动画城", "大风车", "随便加", "宝宝", "孟孟", "萌萌", "孟萌"]
    for item in lst:        #这样写只能拿到元素,获取不到索引
        print(item)
    ========================
    for i in range(len(lst)):     #i 就是下标,lst[i]元素
        print(i,lst[i])

     range(3,6)  结果还是它自己

    set()函数:

    set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
  • 相关阅读:
    函数学习(JY07-JavaScript-JS基础03)
    数据类型转换中的一些特殊情况(JY06-JavaScript)
    JY05-JavsScript-JS基础01
    JY03-HTML/CSS-京东02
    JY02-HTML/CSS-京东01 定位是很粗暴的页面布局方法
    JY01-KX-01
    清浮动的几种方法
    HTML/CSS一些需要注意的基础知识
    linux 实时检测web项目MD5防止网站被黑
    面试总结第一谈
  • 原文地址:https://www.cnblogs.com/lgw1171435560/p/10037322.html
Copyright © 2011-2022 走看看