Python中的列表

1. 列表基本概念

  • 数组:存储同一种数据类型的集合
  • 列表:存储任意数据类型的集合;打了激素的数组,可以存储任意数据类型
  • 与数组相同,列表第一个元素从0开始记起

2. 列表可嵌套性

在一个列表之中还可嵌套另一个列表;可实现多层列表的嵌套
type(list)可查看类型

list = [1, 1.2, True, 'python', [1, 'today']]
>>> list=[1,2,3,'python',[1,'today']]
>>> list1=[1,3,[3,'dj',[7,8]]]
>>> list1
[1, 3, [3, 'dj', [7, 8]]]
>>> list1[-1]
[3, 'dj', [7, 8]]
>>> type(list)
<type 'list'>
>>> type(list1)
<type 'list'>

2. 列表的索引

(1)正向索引
list[1] 列表从左向右的第2个数据

(2)反向索引
list[-1] 列表从右网左的第1个数据

>>> list=[1,2,3,'python',[1,'today']]
>>> list1=[1,3,[3,'dj',[7,8]]]
>>> list[0]
1
>>> list[1]
2
>>> list[-1]
[1, 'today']
>>> list1[-1]
[3, 'dj', [7, 8]]

3.列表切片

>>> list=[1,2,3,'python',[1,'today']]
>>> list1=[1,3,[3,'dj',[7,8]]]

(1)list[::-1] 将列表反转

>>> list[::-1]
[[1, 'today'], 'python', 3, 2, 1]
>>> list1[-1]
[3, 'dj', [7, 8]]
>>> list1[::-1]
[[3, 'dj', [7, 8]], 3, 1]

(2)list[1:] 除列表中第1、2数据之外的其他数据
list[:2] 列表前2个数据
list[:-1] 除最后一个数据之前的所有数据

>>> list1[::-1]
[[3, 'dj', [7, 8]], 3, 1]
>>> list[1:]
[2, 3, 'python', [1, 'today']]
>>> 
>>> list[1:]
[2, 3, 'python', [1, 'today']]
>>> list[:2]
[1, 2]
>>> list[:-1]
[1, 2, 3, 'python']
>>> list
[1, 2, 3, 'python', [1, 'today']]

4. 列表的重复(*)

list * 3 列表重复3次

>>> list * 3
[1, 2, 3, 'python', [1, 'today'], 1, 2, 3, 'python', [1, 'today'], 1, 2, 3, 'python', [1, 'today']]
>>> list*2
[1, 2, 3, 'python', [1, 'today'], 1, 2, 3, 'python', [1, 'today']]

5. 列表的连接(+)

list + list1 连接列表list和列表list1

>>> list+list1
[1, 2, 3, 'python', [1, 'today'], 1, 3, [3, 'dj', [7, 8]]]
>>> list+[2,8,'hello']
[1, 2, 3, 'python', [1, 'today'], 2, 8, 'hello']
>>> 

6. 列表成员操作符(in)

(1)print('firewalld' in service) 判断’firewalld’是否在service列表中;若是返回值为True;否则为Flase
(2)print('ftp' not in service1) 判断’ftp’是否不在service1列表中;返回值同上

>>> service=['http','firewalld','ftp']
>>> service
['http', 'firewalld', 'ftp']
>>> 'firewalld' in service
True
>>> 'https' in service
False
>>> 'firewalld' not in service
False
>>> 'https' not in service
True
>>> 

7. 列表中元素的增加(append|extend|insert)

(1)追加 增加一个
service .append('firewalld') 在列表service中追加一个元素’firewalld’

>>> service.append('nfs')
>>> service
['http', 'firewalld', 'ftp', 'nfs']

(2)拉伸 增加多个
service.extend(['iscsi','nfs']) 在列表service中追加多个元素’iscsi’,‘nfs’

>>> service.extend('https','iscsi')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: extend() takes exactly one argument (2 given)
>>> service.extend(['https','iscsi'])
>>> service
['http', 'firewalld', 'ftp', 'nfs', 'https', 'iscsi']
>>> 

(3)插入 在指定位置插入
service.insert(2,'smb') 在列表service中的第二个元素插入元素’smb’

>>> service.insert(2,'smb')
>>> service
['http', 'firewalld', 'smb', 'ftp', 'nfs', 'https', 'iscsi']
>>> service.insert(0,'mountd')
>>> service
['mountd', 'http', 'firewalld', 'smb', 'ftp', 'nfs', 'https', 'iscsi']
>>> 

8.列表元素的弹出(弹出并未删除)(pop)

(1)默认弹出是列表最后一个
service.pop() 弹出列表的最后一个元素

>>> service
['mountd', 'http', 'firewalld', 'smb', 'ftp', 'nfs', 'https', 'iscsi']
>>> service.pop()
'iscsi'
>>> service
['mountd', 'http', 'firewalld', 'smb', 'ftp', 'nfs', 'https']

(2)指定弹出
service.pop(0) 指定弹出列表中的0号元素;即第一个元素

>>> service.pop(0)
'mountd'
>>> service
['http', 'firewalld', 'smb', 'ftp', 'nfs', 'https']
>>> service.pop(1)
'firewalld'
>>> service
['http', 'smb', 'ftp', 'nfs', 'https']
>>> 

9. 删除列表元素(remove|del)

从内存中删除一个元素
(1)service.remove('smb')
(2)del service[0]

>>> service
['http', 'smb', 'ftp', 'nfs', 'https']
>>> service.remove('smb')
>>> service
['http', 'ftp', 'nfs', 'https']
>>> service.remove('http')
>>> service
['ftp', 'nfs', 'https']
>>> del service[2]
>>> service
['ftp', 'nfs']

10. 列表元素的查看(count|index)

(1)count计数:查看列表中某一元素存在的个数

>>> services=['ftp','http','iscsi','dns','http','ftp']

>>> services

['ftp', 'http', 'iscsi', 'dns', 'http', 'ftp']

>>> services.count('ftp')

2

>>> services.count('http')

2

(2)index索引查找:查找某一元素,返回其索引,默认返回其最小索引(可指定索引范围返回索引)

>>> services.index('http')

1

>>> services.index('http',3,10)

4

11.列表元素的修改

(1)通过索引重新赋值

>>> services
['dns', 'ftp', 'ftp', 'http', 'http', 'iscsi']
>>> services[0]='https'
>>> services
['https', 'ftp', 'ftp', 'http', 'http', 'iscsi']
>>> services[-1]='ftp'
>>> services
['https', 'ftp', 'ftp', 'http', 'http', 'ftp']

(2)通过切片重新赋值

>>> services[2:]=['dns','dhcp','samba']
>>> services
['https', 'ftp', 'dns', 'dhcp', 'samba']
>>> services[:-1]=['http']
>>> services
['http', 'samba']
>>>

12. 列表元素的排序(sort)

1)默认按照Ascii码顺序进行排序

>>> services

['ftp', 'http', 'iscsi', 'dns', 'http', 'ftp']

>>> services.sort()

>>> print(services)

['dns', 'ftp', 'ftp', 'http', 'http', 'iscsi']

(2)sort(reverse=True)按照ASCII码倒序排序

>>> services.sort(reverse=True)

>>> print(services)

['iscsi', 'http', 'http', 'ftp', 'ftp', 'dns']

>>> services.sort(reverse=False)

>>> print(services)

['dns', 'ftp', 'ftp', 'http', 'http', 'iscsi']
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值