Python------列表,元组,字典

本文详细介绍了Python中的列表、元组和字典数据结构。列表支持增删改查操作,如append、insert、del、pop和remove等;元组与列表相似,但元素不可变,定义单元素元组需加逗号;字典是键值对集合,查找和插入速度快,但占用内存大。此外,还提到了集合set的特性,它是无序且无重复元素的集合,可进行交集、并集等数学运算。
摘要由CSDN通过智能技术生成

列表:
一.列表的增删改查
1.1增
方法append():在列表末尾添加元素
方法insert(新元素索引,‘新元素值’):在任何位置添加元素
在这里插入图片描述

list = [10,20,30,40,50]
print(list)
list.append(60)
print(list)
list.insert(1,'new')
print(list)

2.删
del语句:根据元素在列表中的位置删除,比如del list[2]。永久删除
方法pop():删除列表末尾元素或任何位置的元素(需要在括号中指定要删除元素的索引),有返回值
方法remove():根据值删除元素,每一次只能删除第一个出现的值 #三个删除方法里效率最低的

#删除重复的元素
#删除所有的20
在这里插入图片描述

list = [10,20,30,40,50]
print(list)
del list[1],list[2]
print(list)

list = [10,20,30,40,50]
print(list)
print(list.pop(0))

list = [10,30,20,30,40,50]
print(list)
list.remove(30)
print(list)

list = [20,30,20,30,40,50,20,10,40,20,20]
print(list)
while 20 in list:
    list.remove(20)
print(list)

3,改
和访问列表元素相似,重新传入新的值即可

4.查
就是访问列表

5.合并列表
5.1 另存新地址
5.2 扩展列表
在这里插入图片描述

list = [10,20]
print(list+[30,40])
print(list)

list = [10,20]
list.extend([30,40])
print(list)

二.元组
要定义一个只有1个元素的tuple,如果你这么定义:

t = (1)
t
1
定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。

所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

t = (1,)
t
(1,)
Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。

dict的key必须是不可变对象。
和list比较,dict有以下几个特点:

查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:

查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。

???set是不是就是元组里的列表
set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合:

s = set([1, 2, 3])
s
{1, 2, 3}

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
s1 & s2
{2, 3}

s1 | s2
{1, 2, 3, 4}
set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值