Python入门——小甲鱼Day3( 列表基础 )

目录

列表——打了激素的数组
0.列表分类
1.添加元素
2.获取元素
3.删除元素
4.列表切片
5.列表常规操作
6.列表内置函数
7.拷贝与赋值

0.列表分类

普通列表:menber = [ ‘小甲鱼’,‘小布丁’]
混合列表:member = [‘小甲鱼’,520,3.14159,[1,2,3]]
空列表: member = [ ]

1.列表中添加元素

  1. append()
  2. extend()
  3. insert()
 member = ['金毛','柴犬','哈士奇','杜宾']
 member.append('藏獒')
 >>>member #输出 ['金毛', '柴犬', '哈士奇', '杜宾', '藏獒']

 member.extend(['泰迪','拉布拉多'])
 >>> member
#输出 ['金毛', '柴犬', '哈士奇', '杜宾', '藏獒', '泰迪', '拉布拉多']
#如果member.extend('XX')会报错,因为extend()的参数是列表,即往列表里添加列表

 member.insert(0,'中华田园犬')
 >>> member
#输出['中华田园犬', '金毛', '柴犬', '哈士奇', '杜宾', '藏獒', '泰迪', '拉布拉多']
# insert()函数有两个参数,第一个代表插入位置,第二个代表插入元素

2.列表中获取元素

在获取元素上,列表与数组相似,可以利用索引(index),从列表中获取元素。
用上个问题举例:

member[2] 输出:‘柴犬’
member[5] 输出:‘藏獒’

3.列表中删除元素

1.remove (不需要知道元素位置,知道元素名即可)
2.del (del语句,需要知道元素位置,不需要知道元素名)
3.pop (python中列表与栈相似,pop可以理解为弹栈操作)

member = ['中华田园犬', '金毛', '柴犬', '哈士奇', '杜宾', '藏獒', '泰迪', '拉布拉多']
member.remove('泰迪')
>>>member
#输出 ['中华田园犬', '金毛', '柴犬', '哈士奇', '杜宾', '藏獒', '拉布拉多']

del member[0]
>>>member
#输出 ['金毛', '柴犬', '哈士奇', '杜宾', '藏獒', '拉布拉多']

>>> member
['金毛', '柴犬', '哈士奇', '杜宾', '藏獒', '拉布拉多']
>>> member.pop(4)
'藏獒'
>>> menber
#输出 ['金毛', '柴犬', '哈士奇', '杜宾', '拉布拉多']
member.pop()
'拉布拉多'
#输出 ['金毛', '柴犬', '哈士奇', '杜宾']

4.列表分片(切片)

所谓列表切片(slice),就是在列表中一次性获取多个元素。

>>> member = [1,2,3,4,5,6]
>>> member
[1, 2, 3, 4, 5, 6]
>>> member[1:3]#返回member[1],member[2]
[2, 3]
>>> member[:3]#返回从头到member[2]
[1, 2, 3]
>>> member[1:]#返回从member[1]到结尾
[2, 3, 4, 5, 6]
>>> member[:]#copy整个member列表
[1, 2, 3, 4, 5, 6]
#拷贝之后,原列表不受任何影响

5.列表的常规操作

  • 比较操作符
  • 逻辑操作符
  • 连接操作符
  • 重复操作符
  • 成员关系操作符
#列表比较大小
>>> list1=[123,456]
>>> list2=[234,456]
>>> list1 > list2
False
>>> list1 < list2
True
#列表比较遵循短路逻辑,即先比较第一个元素,如果list1中第一个元素大于list2中第一个元素,即list1 > list2,返回False,后面的不再看

#列表中的逻辑操作
>>> list3=[123,456]
>>> (list1 == list3) and (list2 > list1)
True

#连接
>>> list4 = list2 + list3
>>> list4
[234, 456, 123, 456]
>>>  list4 + 456
#报错:Traceback (most recent call last):
# File "<pyshell#39>", line 1, in <module>
#    list4 + 456
#TypeError: can only concatenate list (not "int") to list
只有数据类型相同,才能进行相加的操作!

#重复
>>> list3 *= 3
>>> list3
[123, 456, 123, 456, 123, 456]

#成员关系
>>> list5 = [123,456,789,['小甲鱼','小鱼儿'],'面对疾风吧']
>>> 123 in list5
True
>>> '面对疾风吧' in list5
True
>>> '小甲鱼' in list5
False  #in只能判断一层列表
>>> list5[3][0]
'小甲鱼'  #类似二维数组

6.列表的小伙伴们(内置函数)

列表中有很多的内置函数,这里简单介绍几个。

  • count()
  • index()
  • reserve()
  • sort()
    可以用dir()查看列表有哪些内置函数:
>>> 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']
>>> 
1.count——元素在列表中出现的次数

  >>> list = [1,22,333,147,258,333,456]
  >>> list.count(333)
  2  #333在列表中出现了2次

2.index——查找元素索引

  >>> list = [1,22,333,147,258,333,456]
  >>> list.index(147)
  3  #147的位置下标3
  >>> list.index(333,3,6)
  5  #index ('元素',start,stop) 三个参数,可以明确搜索范围

3.reverse——乾坤大挪移(列表逆置)

  >>> list = [1,22,333,147,258,333,456]
  >>> list.reverse()
  >>> list
  [456, 333, 258, 147, 333, 22, 1]
4.sort——排队

 >>> list.sort()
 >>> list
 [1, 22, 147, 258, 333, 333, 456] #从大到小排队
 >>> list.sort(reverse=True)
 >>> list
 [456, 333, 333, 258, 147, 22, 1] #从大到小排队

 list.sort()默认为list.sort(reverse = False)
 sort(func , key , reverse) #sort()的三个参数

7.拷贝与赋值的区别

>>> list1 = [1,2,3,4]
>>> list2 = list1[:]
>>> list3 = list1
>>> list2
[1, 2, 3, 4]
>>> list3
[1, 2, 3, 4]
>>> list1.append(5)
>>> list2
[1, 2, 3, 4]
>>> list3
>>>[1, 2, 3, 4, 5]

附一张教程图解,可能比较好理解。
在这里插入图片描述

发布了12 篇原创文章 · 获赞 13 · 访问量 321

猜你喜欢

转载自blog.csdn.net/weixin_45253216/article/details/104490493