第六章:基本数据类型(列表、元组、字典、集合)

本文详细介绍了Python中的四种基本数据类型:列表、元组、字典和集合,包括它们的定义、操作方法、特点及用途。列表作为可变序列,支持增删改查操作;元组是不可变序列,适用于只读场景;字典是可变无序的键值对容器,而集合则用于关系运算和去重。理解这些数据类型的特性对于Python编程至关重要。
摘要由CSDN通过智能技术生成

第六章:基本数据类型(列表、元组、字典、集合)

一、列表 list()(可变序列)

1、作用

​ 按位置存放多个值,元素可以重复。属于序列,即存和取的顺序是一样的。

2、定义(可变类型)

list[索引不存在] = ‘添加的数据’ 会报错

# 定义空列表
lit = []
lit = list()
lit = [1]	# 只存放一个元素
lit = [1,'sunoeast']	# 存放多个元素用逗号隔开

# 列表中存放的数据必须是可迭代对象:list(可迭代对象)

lit = ['可迭代对象']
# 相当于:
l = []
for i in '可迭代对象':
	l.append(i)		
# 最好不要直接用lit.append(i),不要随意更改原列表的内容

3、类型转换

​ 只要能够被for循环遍历的类型都可以当作参数传递给 函数list()转成列表

result = list('hello world')
print(type(result))

result = list({
   'key1':111,'key2':222})
print(type(result))	
print(result)	# 这里for遍历的只有key,所以输出的列表也只有key

print(list(1))	# 整形不是可迭代对象,所以会报错

4、查找(取出)列表中的值

1、根据索引取值

根据索引操作,无论是取值操作还是赋值操作:索引不存在则报错

lit = [1,'hello','world','sunoeast',[2,3,4]]
print(lit[0])	# 相应的索引取出对应的值/元素
print(lit[-1])
# print(lit[7])	#索引不存在会报错
print(lit[-1][1])	# 列表中嵌套的取值

# 修改
lit[0] = 2	# 修改索引为0的值的内容

2、根据切片取值

# 顾头不顾尾
lit = [1,'hello','world','sunoeast',[2,3,4]]
print(lit[0:2])		# [1, 'hello']
print(lit[0:4:2])	# [1, 'world']
print(lit[1:7])		# 超出范围不会报错,会输出开始索引的位置及后面的所有值

根据切片修改

# 利用索引赋值必须赋值给可迭代对象类型
lit = [1,'hello','world','sunoeast',[2,3,4]]
lit[0:3] = '1'	# 触发list('1')
# lit[0:3] = 1	# 这里实际是触发了list(1),所以会报错TypeError

li = lit[:]	# 相当于拷贝,而且是浅拷贝
print(lit,id(lit))
print(li,id(li))

l = lit[::-1]	# 列表倒序,不会改变原列表,这里不是排序
print(l)	# [[2, 3, 4], 'sunoeast', 'world', 'hello', 1]
print(lit)	# [1, 'hello', 'world', 'sunoeast', [2, 3, 4]]

3、列表中查找方法index()

​ 列表中查找元素只有index()方法,没有找到元素会报错,通常可以用成员运算来判断这样使用起来更加安全。

lit = [1,2,2,3,4]
print(lit.index(2))	# 返回元素2首次出现的下标/索引 1 。

5、往列表中增元素

1、末尾追加 append()方法

​ 可以追加任何类型,但是一次只能追加一个元素或者一个整体

# 格式:需要追加的列表.append('追加的任何类型元素')
lit = [1,2]
lit.append(3)
print(lit)
# 结果:[1, 2, 3]

lit1 = [5,6]
    lit.append(lit1)	# 当成(一个元素)整体添加
print(lit)
# 结果:[1, 2, 3, [5, 6]]

2、追加到指定位置 insert()方法

​ 可以插入任何类型,但是一次只能插入一个元素。如果索引不存在添加到开头或末尾。

# 格式:需要追加的列表.insert(索引,'追加的任何类型元素')
lit = [1,2,3]
lit.insert(0,4)
print(lit)	# 结果:[4, 1, 2, 3]

lit1 = [6,7]
lit.insert(1,lit1)	# 当成一个元素添加
# 结果:[4, [6, 7, 5], 1, 2, 3]

# 如果索引不存在添加到开头或末尾
lit = [1,2,3]
lit.insert(7,5)
print(lit)	# 结果:[1, 2, 3, 5]

lit.insert(-7,8)
print(lit)	# 结果:[8, 1, 2, 3, 5]

3、添加多个值 extend()方法

只能添加可迭代对象。

# 格式:需要添加的列表.extend('添加的可迭代对象')
lit = [1,2,3]
lit1 = [4,5]
lit.extend(lit1)
print(lit)
# 结果:[1, 2, 3, 4, 5]

lit.extend('1')
print(lit)
# 结果:[1, 2, 3, 4, 5, '1']

# lit.extend(1) # 报错

# 底层代码逻辑:
for item in lit1:
	lit.append(item)
print(lit)

6、删除列表中的元素

通常需要先判断元素是否存在,不存在的值使用删除会引发程序报错。

1、通用的删除 del语句

它没有返回值

lit = [1,2,3,4,5,6]
# 根据索引删除,索引不存在会报错
del lit[0]	# result = del lit[0] 抛出异常,del语句不支持赋值语法
print(lit)  # 结果:[2, 3, 4, 5, 6]

# 根据切片删除
del lit[0:3]
print(lit)  # 结果:[5, 6]

# 清空列表中的元素
del lit[:]
print(lit)	# 返回一个空列表

# 删除列表
del lit
# print(lit)    # 列表已经删除,会提示变量lit没有定义

2、取出元素 pop()方法

​ 可以根据索引取值,默认取出最后一个元素返回值就是取出的元素。

默认就是取出最后一个元素,如果索引不存在会报错

# 格式:需要取值的列表.pop('索引(不指定就是最后一个元素)')
lit = [1,2,3,4,5,6]
l = lit.pop()
print(l)	# 结果:6

li = lit.pop(1)
print(li)	# 结果:2

# lit1 = lit.pop(7)	# IndexError

3、根据指定的元素删除 remove()方法

​ 有元素会返回None,可以视为无返回值删除的值不存在会报错。

# 格式:需要删除元素的列表.remove('需要删除的元素')
lit = [1,2,3,4,5,6]
lit.remove(3)
print(lit)	# [1, 2, 4, 5, 6]

# lit.remove(8)		# 会报错:ValueError

7、列表中的运算符

1、算术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值