Python开发基础----数据类型----[列表]

列表的创建

第一种方法:
>>> name = []   #宝义一个name的空列表
>>> type(name)  #查看name的类型
<class 'list'>
>>> print(name) #打印空列表name
[]

第二种方法:
>>> name1 = list() #定义一个name1的空列表
>>> type(name1)    #查看name1的类型
<class 'list'>
>>> print(name1)   #打印空列表name1
[]

第三种方法:
>>> names = ["chenliang","lanlan","lili","xiaxia"]   # 定义names变量
>>> print(names)       # 打印names变量中的值
['chenliang', 'lanlan', 'lili', 'xiaxia']
>>> type(names)        # 查看names的内容是什么类型,可以看出是list(列表类型)
<class 'list'>

列表中相应元素对应的下标

>>> names[0]
'chenliang'
>>> names[1]
'lanlan'
>>> names[2]
'lili'
>>> names[3]
'xiaxia'

>>> names[-1]
'xiaxia'
>>> names[-2]
'lili'
>>> names[-3]
'lanlan'
>>> names[-4]
'chenliang'

统计列表中的元素

>>> len(names)        #统计names列表中总共有多少个元素
4
>>> names.count("lili")  #统计names列表中有多少个lili元素
1

往列表中增加元素

>>> names
['chenliang', 'lanlan', 'lili', 'xiaxia']
>>> names.insert(3,"binbin")   #插入元素binbin,且放在下标为3的位置
>>> names                      #查看names列表中的元素
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia']

>>> names.append("liangliang") #在names列表最后添加元素liangliang
>>> names                      #查看names列表中的元素
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia', 'liangliang']

删除列表中的元素

>>> names
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia', 'liangliang']

第一种方法:del(列表名[元素下标])
>>> names[5]
'liangliang'
>>> del(names[5])  #删除names列表中下标为5的元素
>>> names
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia']

>>> del(names[5])   #若列表中没有相应的元素时,则会报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range

第二种方法:列表名.pop()  列表名.pop(元素下标)
>>> names
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia']
>>> names.pop()
'xiaxia'
>>> names
['chenliang', 'lanlan', 'lili', 'binbin']

>>> names
['chenliang', 'lanlan', 'lili', 'binbin']
>>> names[2]
'lili'
>>> names.pop(2)
'lili'
>>> names
['chenliang', 'lanlan', 'binbin']

第三种方法:列表名.remove(”元素名”)
>>> names
['chenliang', 'lanlan', 'binbin']
>>> names.remove("binbin")
>>> names
['chenliang', 'lanlan']

第四种方法:列表名.clear()
>>> names
['chenliang', 'lanlan']
>>> names.clear()
>>> names
[]

列表中元素的修改

>>> names = ['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia']  # 定义names的列表
>>> print(names)                 # 查看names列表中的所有元素
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia']

>>> names[0]                    # 查看names列表中chenliang元素
'chenliang'

>>> names[0] = "liangliang"         # 修改names中的chenliang元素为liangliang
>>> print(names)                 # 查看修改后的names列表 
['liangliang', 'lanlan', 'lili', 'binbin', 'xiaxia']

查看列表中的元素

>>> print(names)               # 查看names列表中的所有元素
['liangliang', 'lanlan', 'lili', 'binbin', 'xiaxia']

>>> "liangliang" in names      # 查看liangliang元素是否在names列表中
True

>>> names.index("liangliang")  
0
# 查看liangliang元素在names列表中的下标,若names列表中有多个
liangliang元素,那么index的方法只能查找到第1个liangliang元素

>>> print(names[0])            # 查看names列表中的liangliang元素
liangliang

>>> "chenchen" in names        # chenliang没有在names列表中
False

>>> names.index("chenchen")    # 若列表元素不存在会报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'chenchen' is not in list

列表元素的合并

>>> print(names)                   # 查看names列表中的所有元素
['liangliang', 'lanlan', 'lili', 'binbin', 'xiaxia']

>>> names1 = ["陈亮","兰兰","莉莉"]  # 定义names1列表

>>> print(names1)                  # 查看names1列表中的所有元素
['陈亮', '兰兰', '莉莉']

>>> names.extend(names1)          # 把names1列表中的元素合并到names列表中

>>> print(names)                   # 查看names列表中的所有元素
['liangliang', 'lanlan', 'lili', 'binbin', 'xiaxia', '陈亮', '兰兰', '莉莉']

列表的嵌套

>>> names     #查看names列表中的所有元素
['liangliang', 'lalan', 'lili', 'binbin', 'xiaxia', '陈亮', '兰兰', '莉莉']
>>> names.insert(2,["1","2","3"])
>>> names
['liangliang', 'lalan', ['1', '2', '3'], 'lili', 'binbin', 'xiaxia', '陈亮', '兰兰', '莉莉']
>>> names[2][0]
'1'
>>> names[2][1]
'2'
>>> names[2][2]
'3'

列表中元素的反转(会真的反转列表中的元素哦)

>>> print(names)
['liangliang', 'lalan', ['1', '2', '3'], 'lili', 'binbin', 'xiaxia', '陈亮', '兰兰', '莉莉']
>>> names.reverse()
>>> names
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']

列表的切片

#查看names列表中的所有元素
>>> names
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']

从左至右取一段(从最左侧的元素开始)
>>> names[:5]   #取names列表中的前5个元素(下标:0、1、2、3、4)
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin']
>>> names[0:5]  #取names列表中的前5个元素(下标:0、1、2、3、4)
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin']

#从右至左取一段(从最右侧的元素开始)
>>> names      #查看names元素中的列表
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[-5:]   #取最后5个元素
['binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']

#从某个元素一直取到最后
>>> names     #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[4:]   #从下标为4的元素开始(包含)一直取到最后
['binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']

#取中间的某一阶段的元素
>>> names     #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[1:5]  #取names列表中下标为1到下标为4的元素(下标:1、2、3、4)
['兰兰', '陈亮', 'xiaxia', 'binbin']

列表的步长[从左往右]

#从左至右步长为1
>>> names     #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[:]   #从左到右步长为1
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[::]   #从左到右步长为1
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[::1]  #从左到右步长为1
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbiin', 'lili', ['1', '2', '3'], 'lanlan', 'liangliang']

#从左至右步长为2
>>> names      #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[::2]   #从左到右步长为2
['莉莉', '陈亮', 'binbiin', ['1', '2', '3'], 'liangliang']
>>> names[0::2]  #从左到右步长为2
['莉莉', '陈亮', 'binbiin', ['1', '2', '3'], 'liangliang']

#从某个元素开始(包含)往右步长
>>> names      #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[1::1]  #从下标为1的元素开始往右步长1
['兰兰', '陈亮', 'xiaxia', 'binbiin', 'lili', ['1', '2', '3'], 'lanlan', 'liangliang']
>>> names[2::2]  #从下标为1的元素开始往右步长2
['陈亮', 'binbiin', ['1', '2', '3'], 'liangliang']

#在某个范围内步长
>>> names       #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbiin', 'lili', ['1', '2', '3'], 'lanlan', 'liangliang']
>>> names[1:7]   #取出下标为1至下标为6之间的元素
['兰兰', '陈亮', 'xiaxia', 'binbiin', 'lili', ['1', '2', '3']]
>>> names[1:7:2]  #从下标为1的元素开始步长2,直到下标为6的元素结束
['兰兰', 'xiaxia', 'lili']

列表的步长[从右往左]

>>> names      #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbiin', 'lili', ['1', '2', '3'], 'lanlan', 'liangliang']
>>> names[::-1]  #从最后一个元素往左步长1
['liangliang', 'lalan', ['1', '2', '3'], 'lili', 'binbin', 'xiaxia', '陈亮', '兰兰', '莉莉']
>>> names[::-2]  #从最后一个元素往左步长2
['liangliang', ['1', '2', '3'], 'binbiin', '陈亮', '莉莉']

 

转载于:https://www.cnblogs.com/chenliangc/articles/11485866.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值