美文网首页
2018-12-29总结

2018-12-29总结

作者: 白与黑_d83f | 来源:发表于2018-12-29 23:33 被阅读0次

    一.列表

    1.什么是列表(list)

    列表是Python提供的容器型数据类型
    可变 - 列表中的每个元素的值可变,列表的长度可变,列表中的元素顺序可变。
    有序 - 每个元素可以通过下标来确定位置。

    2.列表的字面量:通过[]括起来,里面有多个元素,用逗号隔开。

    [1,2,3]
    [10,'abc',True]
    num=100;[num,200]
    

    []--空列表
    注意:列表元素的类型可以是任何Python支持的数据类型;并且同一列表中可以有不同的元素类型。

    3.获取列表元素(和字符串获取字符的元素一样)

    a.获取单个元素
    列表[下标] - 获取列表中制定下标对应的元素
    b.获取部分切片元素(切片)
    列表[开始下标:结束下标:步长]
    c.一个一个的取出所有元素(遍历)
    可以使用for循环直接遍历列表拿到每一个元素:(操作时和下标无关)
    通过遍历列表中列表元素对应的下标来遍历列表元素

    4.增(添加列表元素)

    a.append
    列表.append(元素) - 指定的列表元素后边添加指定的元素
    b.insert
    列表.insert(下标,元素)- 在指定的下标前插入指定的元素

    5.删(删除元素)

    a.del
    del 列表[下标]- 删除列表中指定下标指定元素
    注意:del是Python关键字,可以删除任何元素 ,这儿下标不能越界
    b.remove
    列表.remove(元素)
    只删最前面的一个
    c.pop
    列表.pop() - -将列表中最后一个元素从列表中取出,会返回取出来的元素 -(注意:这个操作不会产生新的列表)
    列表.pop(下标) -- 将列表中指定元素从列表中取出,会返回取出来的元素
    (注意:这个操作不会产生新的列表)

    坑一: 遍历列表删除部分元素,删不全! --- 遍历的时候对原列表切片

    练习:统计一个班的学生的年龄(控制台不断不输入年龄的值,直到输入end为止),删除年龄小于18岁的年龄。

    str=[]
    age= input('年龄;')
    while age !='end':
        str.append(int(age))
        age=input("年龄:")
    print(str)
    str1=str[:]
    print(str1)
    for i in str:
           if i<18:
             str1.remove(i)
    print(str1)
    
    ages=[12,13,20,18,30,10]
    index=0
    new_ages=[]
    while index<len(ages):
        age=ages[index]
        if age<18:
            del_item=ages.pop(index)
            new_ages.append(del_item)
        else:
            index += 1 #不需要删除的时候下标才增加
    print(ages,new_ages)
    

    坑二:通过下标遍历列表,删除元素的时候;下标越界和元素获取不全

    解决办法:下标对应的元素需要删除,下标值不动:不会删除下标加1

    6.改(修改元素的值)

    列表[下标] = 新值 ---修改列表指定下标对应的值

    list1=[1,2,3]
    list1[0]='abc'
    print(list1)
    

    7.相关运算

    (1).相关运算:+,*

    a.数学运算

    列表1+列表2 -将两个列表中元素合并在一起产生一个新的列表
    列表*N - 列表中的元素重复N次,产生一个新的列表

    b.比较运算

    比较大小和字符串比较原理相等

    print([1,2,3]+['a','b','c'])
    print([1,2,3]==[1,2,3])
    print([1,2,3]==[3,2,1])
    

    (2).in/ not in

    元素 in 列表 -- - 判断列表中是否存在指定的元素

    print([1,2] in [1,2,3])
    print([1,2] in [[1,2],30,'abc'])
    

    (3).len

    len(列表) - 获取列表中元素的个数

    print(len([[1,'a'],2,'100',True]))
    

    (4).list

    list(数据) - 将其他数据转换成列表;只有序列才能转换成列表,并且所有的序列都能转化成为列表
    转换的时候是将所有的元素转换成列表的元素
    list=10 #注意:不能Python给我们提供的类型的名字来命名,否则会有隐患

    list3=('hello')
    print(list3)
    list4=list(range(11,20))
    print(list4)
    

    (5).序列其他方法

    max(序列) - 获取序列中最大元素
    min(序列) - 获取序列中最小的元素
    sum(序列) - 求序列中所有元素之和
    注意:以上三个方法,要求序列中的元素必须一致,并且这个类型支持比较运算和加法运算

    print(max([19,89,999,2,0.2]))
    print(min([19,89,999,2,0.2]))
    

    二.列表方法

    1.list,count(obj)

    ages = [12, 13, 20, 18, 30, 10,12,12]
    print(ages.count(12))
    

    2.list.extend(seq) 末尾追加列表

    ages = [12, 13, 20, 18, 30, 10,12,12]
    ages1=[1,2,3]
    ages.extend(ages1)
    print(ages)
    

    3.list.reverse() 反向列表中元素

    ages = [12, 13, 20, 18, 30, 10,12,12]
    ages.reverse()
    print(ages)
    

    4.list.clear() 清空列表

    5.list.copy() 复制列表

    6.list.sort() 对列表排序

    相关文章

      网友评论

          本文标题:2018-12-29总结

          本文链接:https://www.haomeiwen.com/subject/ohfmlqtx.html