美文网首页
python学习笔记15_列表

python学习笔记15_列表

作者: flamingocc | 来源:发表于2018-03-02 16:11 被阅读0次

    python 笔记15

    1.列表

    1.1 提问:要把所有人的名字存储下来,有什么办法?

    用变量名赋值吗?
    name0 = 'a'
    name1 = 'b'
    name2 = 'c'
    name3 = 'd'
    name4 = 'e'
    这样做有很多弊端,我如果要找d,却不能通过c或e的关系来找他们的关系。

    names = 'a b c d e'
    这样做的话,想找一个人,却会出现所有人的名字。(方便存储但是不好取用)

    为了应对这种状况,有一种新的数据类型:列表list 用中括号[]创建列表。

    如:
    a = ['a','b','c','d','e']
    这种写法有位置关系吗?
    有,第一位为:0

    有了这个列表[a],就可以对它进行
    增删改查

    1.2 增删改查

    1.2.1 增以及切片介绍

    a = ['a','b','c','d','e'] 
    
    print(a[1:4])   # b c d   
    

    如果不知道一共有多少个,想取后面所有值:

    print(a[1:])     # b c d e   
    

    如果想取到倒数第二个值:

    print(a[1:-1])   # b c d   
    

    如果想跳着取: 第三位是步长,默认步长为:1 方向:从左往右

    print(a[1:-1:2])   # b d   
    

    如果想要从右向左取呢: 步长为为:2 方向:从右往左

    print(a[3::-2])  # d b
    

    append , insert

    append:

    a = ['a','b','c','d','e']
    a.append('f')
    print(a)
    
    输出: a,b,c,d,e,f
    

    insert:
    a.insert(插入的位置,插入的值)

    a = ['a','b','c','d','e']
    a.insert(1,'f')
    print(a)
    
    输出: a,f,b,c,d,e
    

    1.2.2 修改

    修改1个:

    a = ['a','b','c','d','e']
    a[1]='f'
    print(a)
    
    输出: a,f,c,d,e
    

    修改2个:

    a = ['a','b','c','d','e']
    print(a)
    a[1:3]=['1''2']
    
    输出:
    a,1,2,d,e
    

    1.2.3 删除

    三种方式:

    • remove
    • pop
    • del

    .remove: 纯删除,不能切片

    a = ['a','b','c','d','e']   
    a.remove('c')  //或者  a.remove(a[2])
    print(a)
    
    输出:a,b,d,e
    

    .pop: 删除后有返回值

    a = ['a','b','c','d','e']
    b = a.pop(1)
    print(b)
    
    输出:c
    

    del:可删除任何项目

    a = ['a','b','c','d','e']
    del a[0]
    print a
    输出:b c d e
    

    或:

    a = ['a','b','c','d','e']
    del a
    print a 
    输出: “a没有定义”
    

    2.列表内置方法

    .count计算某元素出现次数:

    t = ['to','be','or','not','to','be'].count('to')
    print(t)
    
    输出:2
    

    也可用于查是否存在某个值。

    extent()把元素相加

    a = [1,2,3]
    b = [4,5,6]
    a.extend(b)
    print(a)
    print(b)
    
    输出:
        a = 1,2,3,4,5,6
        b = 4,5,6
    

    .index()查找元素在列表中的位置

    a = ['a','a','b','c','d','e']
    print(a.index('a'))
    
    输出: 0  (默认取第一个)
    

    如果想取'第二个 a'的位置呢?
    把'第一个切片,得到一个小列表。
    取到'第二个a'的位置加上切片的位数,就是'第二个a'在大列表中的位置:

    a = ['a','a','b','c','d','e']
    first_a_index = a.index('a')
    little_list = a[first_a_index+1:]
    second_a_index = little_list.index('a')
    second_a_inex_in_big_list = first_a_index + second_a_index +1
    print("second a :",a[second_a_index_in_big_list])
    
    输出:sencond a : a
    

    这种方法很麻烦,没有必要取,一般也不会遇到,此法仅供学习参考。

    reverse,将顺序倒过来

    a = ['a','b','c','d','e']
    a.reverse
    print(a)
    
    输出: e d c b a
    

    sort :用于在原位置对列表进行排序

    x = [4,5,3,6,2,1]
    x.sort()
    print(x)
    
    输出: 1 2 3 4 5 6
    

    按照ascii码排序的,如果是字母,排列顺序如下:ABC……Zabcd……xyz .

    如果要倒着输出呢?
    方法一:

    添加:
    x.reverse()
    print(x)
    

    方法二:
    利用sort自身特点即可完成倒叙:

    x = [4,5,3,6,2,1]
    x.sort(reverse=True)
    print(x)
    

    (默认正序sort(reverse=False))

    sorted

    a = [1,2,4,5]
    b = sorted(a)
    print(b)
    

    判断一个值在不在列表里

    方法一:利用count判断存不存在

    a = ['a','b','c','d','e']
    print (a.count('f'))
    
    输出:0
    

    方法二:利用print判断存不存在

    a = ['a','b','c','d','e']
    print('f' in a)
    
    输出:False
    

    相关文章

      网友评论

          本文标题:python学习笔记15_列表

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