Python 列表

列表的创建和删除

使用赋值运算符直接创建列表

listname = [element1,element2,element3,...,elementn]

列表中元素的个数没有限制

创建空列表

emptylist = []

创建数值列表

在Python中可以直接使用list()函数直接将range()函数循环出来的结果转换为列表

list(data)

data表示可以转换为列表的数据,其类型可以是range对象、字符串、元组或者其他可迭代类型的数据
例如,创建一个10~20之间(不包括20 )所有偶数的列表,可以使用下面的代码:

list(range(10,20,2))

运行上面的代码后,将得到下面的列表:

[10,12,14,16,18]

删除列表

在删除列表前,一定要保证输入的列表名称是已经存在的,否则将会出现错误

del listname

del语句在实际开发时,并不常用。因为 Python 自带的垃圾回收机制会自动销魂不用的列表,所以即使我们不手动将其删除,Python 也会自动将其回收

访问列表元素

在 Python 中,如果想将列表的内容输出可以直接使用print()函数
例如要想打印 untitle 列表,可使用下面代码:

>>> untitle = ['Python',28,'人生苦短,我用Python',["爬虫","自动化运维","云计算","Web开发"]]
>>> print(untitle)
['Python', 28, '人生苦短,我用Python', ['爬虫', '自动化运维', '云计算', 'Web开发']]

遍历列表

直接使用for循环实现

直接使用for循环遍历列表,只能输出元素的值

for item in listname:
	# 输出item

其中item用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可
例如,定义一个保存2018年俄罗斯世界杯四强的列表,然后通过for循环遍历该列表,并输出各个国家队的名称,代码如下:

>>> team = ['法国','比利时','英格兰','克罗地亚']
>>> for item in team:
 print(item)
法国
比利时
英格兰
克罗地亚

使用for循环和enumerate()函数实现

使用for循环和enumerate()函数可以实现同时输出索引值和元素内容的功能

for index,item in enumerate(listname):
	# 输出index和item

添加、删除和修改列表元素

添加元素

列表对象的append()方法用于在列表末尾添加元素

listnanme.append(obj)

insert()方法用于向列表的指定位置插入元素

phone.insert(0,"没有手机")

extend()方法用于将一个列表的全部元素添加到另一个列表中

listname.extend(seq) 
  • 将 seq 列表添加到前面列表中

修改元素

修改列表中的元素只需要通过索引获取该元素,然后再为其重新赋值即可

删除元素

根据索引删除

del listname[index]

根据元素值删除

列表对象的remove()方法

listname.remove(obj)

对列表进行统计计算

获取指定元素出现的次数

列表对象count()方法可以获取指定元素在列表中出现的次数

listname.count(obj)
  • obj 这里只能精确匹配,不能只是元素的一部分

获取指定元素首次出现的下标

使用列表对象的index()方法可以获取指定元素在列表中首次出现的位置

listname.index(obj)
  • obj这里只能精确匹配,不能只是元素的一部分

统计数值列表的元素和

sum()函数用于统计数值列表中个元素的和

sum(iterable[,start])

sum([0,1,2,3,4], 2)      # 列表计算总和后再加 2
12

对列表进行排序

使用列表对象的sort()方法实现

列表对象sort()方法用于对原列表中的元素进行排序,排序后原列表中的元素顺序将发生改变

listname.sort(key=none, reverse=False)
  • 排序规则,reverse = True 降序, reverse = False 升序(默认)

使用内置的sorted()函数实现

内置的sorted()函数,用于对列表进行排序,使用该函数进行排序后,原列表的元素顺序不变

sorted(iterable, key=none, reverse=False)
  • 排序规则,reverse = True 降序, reverse = False 升序(默认)

列表推导式

使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表

生成指定范围的数值列表

list = [Expression for var in range]
  • list:生成列表的名称
  • Experssion:表达式,用于计算新列表的元素
  • var:循环变量
  • range:采用range()函数生成的range对象

生成一个包括10个随机数的列表,要求数的范围在10~100(包括)之间

>>> import random # 导入random标准库
>>> randomnumber = [random.randint(10,100) for i in range(10)]
>>> print('生成的随机数为:',randomnumber )
生成的随机数为: [99, 60, 81, 81, 78, 81, 89, 36, 94, 33]

根据列表生成指定需求的列表

newlist = [Expression for var in list]
  • newlist:新生成列表的名称
  • Expression:表达式,用于计算新列表的元素
  • var:变量,值为后面列表的每个元素的值
  • list:用于生成新列表的原列表

定义一个记录商品价格的列表,然后应用列表推导式生成一个将全部商品价格打五折的列表

>>> price = [1200,5330,2988,6200,1998,8888]
>>> sale = [int(x*0.5) for  x in price]
>>> print(sale)
[600, 2665, 1494, 3100, 999, 4444]

从列表中选择合适的元素组成新的列表

newlist = [Expression for var in list if condition]
  • newlist:新生成列表的名称
  • Expression:表达式,用于计算新列表的元素
  • var:变量,值为后面列表的每个元素的值
  • list:用于生成新列表的原列表
  • condition:条件表达式,用于指定筛选条件
    定义一个记录商品价格的列表,然后应用列表推导式生成一个商品价格高于5000的列表
>>> price = [1200,5330,2988,6200,1998,8888]
>>> sale = [x for x in price if x>5000]
>>> print(sale)
[5330, 6200, 8888]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值