Python之列表

一、列表的创建与删除

1.创建空列表

方法一:list01 = []
方法二:list02 = list()

2.创建具有默认值的列表

方法一:list03 = ['整数', '元组', '字符串', '列表', '元组','字典','...' ]
方法二:list04 = list(可迭代类型数据)
	e.g. l = list(range(0, 20, 2))
		 l = list("abcde")
注:这里的可迭代数据是可以转换为列表的数据,如range对象、字符串、元组等

3.删除列表

del listname

二、读取列表元素

1.单次读取

print(list03)  		# 打印输出全列表(包含中括号)
print(list03[2])  	# 根据下标索引打印输出单个列表元素(直接打印元素内容)
print(list03[:3])  	# 利用切片获取列表中的一段元素值

2.循环遍历列表
1)依次遍历

从头到尾遍历
for item in listname[::]:
	print(item)
从尾到头遍历
for i in range(len(listname)-1, -1, -1):
	print(listname[i])

2)间隔遍历

for item in listname[::2]:
	print(item)

3)for循环和内置函数搭配,实现同时输出索引值和元素内容

i. 与range()
	for index in range(start, end, step)
		print(index, list_demo[index])
ii. 与enumerate()
    for index, item in enumerate(listname):
    	print(index, item)

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

1.添加元素
i. append()方法:在末尾追加元素

listname.append(obj)

ii. insert()方法:指定任意位置添加元素

listname.insert(index, obj)

iii. 通过“+”号将两个序列连接,实现为列表添加元素(追加到原列表中)

list04 = ["a", "b"]
list04 += ["c", "d"]

iv. extend()方法实现将一个列表的全部元素添加到另一个列表中

listname.extend(seq)

2.修改元素
i. 修改单个元素(下标索引)

listname[index] = new_value

ii. 修改一段元素(切片)(前后修改的元素个数不一定相等))

listname[start:end] = [new_value]

3.删除元素
i.根据索引删除

del L[index]
L.clear()		# 清空列表内的所有元素,等同于 L[:] = []

ii.根据元素值删除

L.remove(x)			# 从列表中删除第一次出现在列表中的值,
					# 若元素不存在,则报错ValueError
L.pop([index])		# 删除索引对应的元素,如果不加索引,默认删除最后元素,
					# 同时返回被删除的元素

四、其他列表操作

i.统计、计算

L.count(x) 					# 用于统计某个元素x在列表中出现的次数
L.index(v [, begin[, end]]) # 返回对应元素的索引下标, begin为开始索引,end为结束索引,当 value 不存在时触发ValueError错误
sum(L[,start]) 				# 统计数值列表中各元素的和,start为开始索引,默认为0

ii.排序

L.sort(key=None, reverse=False) 	# 将列表中的元素进行排序,默认升序排列;
				    				# key表示指定一个从每列元素中提取一个用于比较的键,如key=str.lower
sorted(L, key=None, reverse=False)  # 作用同上
【注】列表对象的sort()方法和内置sorted()函数的作用基本相同,不同之处在于使用sort()方法时,会改变元列表的排列顺序,使用sorted()函数时,会建立一个原列表的副本,该副本为排序后的列表。
L.reverse()							# 列表的反转,用来改变原列表的先后顺序

iii.拷贝

L.copy() 		 # 浅拷贝(只复制一层,不会复制深层对象) 
L[:] 			 # 浅拷贝(只复制一层,不会复制深层对象) 

import copy
copy.deepcopy(L) # 深拷贝,可以复制深层对象

五、列表推导式

使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表。
语法(if条件为可选项):
newlist = [对变量的操作 for 变量名 in 可迭代对象 if 条件]
e.g.

randomnumber = [random.randint(10, 100) for i in range(10)]
sale1 = [int(x*0.5) for x in price_list]
sale2 = [x for x in price_list if x>5000]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值