• Python3 的列表


    1:列表:

    Python的列表比C语言的数组强大的多,数组只能存放相同类型的数据,而列表则像一个大集装箱可以存放整形、浮点型、字符串、对象等

    2:创建列表的方法

    #创建一个普通列表
    
    list1=[1,2,3,4,5]
    
    #创建一个空列表
    
    empty=[]
    
    #创建一个混合列表
    
    list2=['电子','123',[1,2,'信息'],'sss']

    3:向列表中添加元素的方法

    1)append() 向列表末尾添加一个参数

    member=['铮铮','懿懿']
    member.append('在一起')
    member
    ['铮铮', '懿懿', '在一起']

    2)extend() 参数为一个列表,从原列表扩展原有列表

    member=['铮铮','懿懿']
    member.extend([1314,'在一起'])
    member
    ['铮铮', '懿懿', 1314, '在一起']

    3)insert() 两个参数,第一个参数代表列表所在位置,第二个参数代表要插入的元素

    member=['铮铮','懿懿']
    member.insert(1,'love')
    member
    ['铮铮', 'love', '懿懿']

    4)append()与extend()的比较

    >>> name = ['F', 'i', 's', 'h']
    >>> name.append('C')
    >>> name
    ['F', 'i', 's', 'h', 'C']
    >>> name.extend(['.', 'c'])
    >>> name
    ['F', 'i', 's', 'h', 'C', '.', 'c']
    >>> name.append(['o', 'm'])
    >>> name
    ['F', 'i', 's', 'h', 'C', '.', 'c', ['o', 'm']]

    这个例子看懂了吗?

    4:从列表中获取元素的方法

    和数组一样列表可以用们member[0]改变索引值来获取相应元素

    >>> member=['铮铮','懿懿']
    >>> member[0]
    '铮铮'
    >>> member[1]
    '懿懿'

    5:从列表删除元素的方法

    1)remove() 参数为已知列表当中的名字,只要知道名字就行

    >>> list2=['4.阿迪达斯','3.李宁','2.卡帕','1.耐克']
    >>> list2.remove('3.李宁')
    >>> list2
    ['4.阿迪达斯', '2.卡帕', '1.耐克']

    2)del 语句

    >>> list2=['4.阿迪达斯','3.李宁','2.卡帕','1.耐克']
    >>> del list2[0]
    >>> list2
    ['3.李宁', '2.卡帕', '1.耐克']

    3)pop() 弹栈 取出最后一个元素并返回给你

    >>> list2=['4.阿迪达斯','3.李宁','2.卡帕','1.耐克']
    >>> list2.pop()
    '1.耐克'
    #从列表中取出一个元素并插入到最前面
    list2=['4.阿迪达斯','3.李宁','2.卡帕','1.耐克']
    list2.insert(0,list2.pop())
    >>> list2
    ['1.耐克', '4.阿迪达斯', '3.李宁', '2.卡帕']

    6:列表的分片(slice) 得到另外一个列表

    >>> list1=[9,65,34,13,67,9,45,12]
    >>> list1[0:3]
    [9, 65, 34]
    
    >>> list1=[9,65,34,13,67,9,45,12]
    >>> list2=list1[:]
    >>> list2
    [9, 65, 34, 13, 67, 9, 45, 12]
    #注意list2是一个新的列表
    如果list3=list1
    list3不是一个新的列表,它和list1只是指向同一个位置而已,如下图
    #列表分片还有一个隐藏值步长,步长不能为0默认为1
    >>> list1=[9,65,34,13,67,9,45,12]
    >>> list1[::2]
    [9, 34, 67, 45]

    7:列表的一些常用操作符

    1)比较操作符 有多个元素时从第0个开始比较

    list1=[1,8,3]
    list2=[4,5,6]
    >>> list1>list2
    False
    
    >>> list1<list2
    True

    2)逻辑操作符

    list1=[1,8,3]
    list2=[4,5,6]
    >>> list1<list2 and list1>list2
    False

    3)连接操作符

    list1=[1,8,3]
    list2=[4,5,6]
    >>> list1 + list2
    [1, 8, 3, 4, 5, 6]
    #两个列表的类型相同时才能用’+‘如果要添加元素用前面的三种方法

    4)重复操作符 ’*‘

    list1=[1,8,3]
    >>> list1*2
    [1, 8, 3, 1, 8, 3]

    5)成员关系符 in

    >>> member=['1.耐克', '4.阿迪达斯', '3.李宁', '2.卡帕']
    >>> '1.耐克' in member
    True
    >>> member=[[1,2,3,['abc']],'1.耐克', '4.阿迪达斯', '3.李宁', '2.卡帕']
    >>> 'abc' in member[0]
    False
    >>> 'abc' in member[0][3]
    True

    >>> member=[[1,2,3,['abc',['a']]],'1.耐克', '4.阿迪达斯', '3.李宁', '2.卡帕']
    >>> a in member[0][3][1]

    True

     

    如果是列表中的列表,要先给他包含一个层次

    8:列表的好基友(列表类型的内置函数)

    1)查看方式

    >>> dir(list)
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

    2)经常要一起玩的基友(常用的内置函数)

    count() 计算列表元素重复次数

    >>> member=[1,1,1,1,1,1,1,2]
    >>> member.count(1)
    7

    index()索引 返回元素所在列表中的位置

    >>> member=[1,2,3,9,23,34,6,6,7]
    >>> member.index(1)
    0
    >>> member=[1,2,3,9,23,34,6,6,7]
    >>> member.index(9,2,7)
    3

    reverse 将列表原地翻转

    >>> list1=[1,2,3,4]
    >>> list1.reverse()
    >>> list1
    [4, 3, 2, 1]

    sort() 默认从小到大排序,归并排序

    >>> list1=[9,65,34,13,67,9,45,12]
    >>> list1.sort()
    >>> list1
    [9, 9, 12, 13, 34, 45, 65, 67]

    如何从大到小排序呢

    >>> 列表名.sort()
    >>> 列表名.reverse()
    
    #或者
    >>> 列表名.sort(reverse=True)

    clear()清空列表

    >>> list2.clear()
    >>> list2
    []

    copy() 拷贝得到新的列表

    >>>list1=[1, [1, 2, ['打飞机']], 3, 5, 8, 13, 18]
    >>> list2 = list1.copy()
    >>> list2
    [1, [1, 2, [打飞机']], 3, 5, 8, 13, 18]

    9:列表推导式

    >>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
    
    
    list1 = []
    for x in range(10):
        for y in range(10):
            if x%2 == 0:
                if y%2 != 0:
                    list1.append((x, y))
    
    ------------------------------------------------------------------------------------
    
    #连线游戏
    list1=['1.jost do it','2.you','3.can ','4.change the word']
    list2=['4.阿迪达斯','3.李宁','2.卡帕','1.耐克']
    >>> list3 = [name + '' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
  • 相关阅读:
    一个人的热闹
    关于Java单向链表头结点与头指针傻傻分不清
    Scanner输入的问题
    String、StringBuffer和StringBuilder的区别:
    偷吃的老人
    ubuntu 安装redis
    Ubuntu 安装 nginx
    谁再说不熟悉 Linux 命令,就把这个给他扔过去!
    ubuntu 安装mysql并设置密码
    题解 UOJ #99. 【集训队互测2015】普罗达科特
  • 原文地址:https://www.cnblogs.com/PythonFCG/p/8337532.html
Copyright © 2020-2023  润新知