list、tuple、dict、set学习笔记

本文详细介绍了Python中的四种主要数据结构:List(列表)、Tuple(元组)、Dict(字典)和Set(集合)。包括每种数据结构的特点、定义方式及常用操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、 List

在Python中list是一个可变的有序集合,用[]表示一个list,可以这样定义一个List:

L = [33,”python”,12.5]

定义一个空的list:

L =[ ]

一些基本的使用

倒序 a = b[::-1]
相乘 [33] * 3 = [33, 33, 33]
强制转成list list('abc') = ['a', 'b', 'c']
可用函数 max(list1) min(list2) len(list3)
在尾部添加一个元素: append()
在指定位置插入一个元素: insert()
合并连个list: extend() (使用+也是同样的效果)
删除一个元素(默认删除尾部,可指定位置删除): pop ()
倒置: reverse()
计算某个元素出现的次数: count(item)
排序: sort()
list长度: len(list)
替换某个元素的值:list[2] = "other_value"
list索引:
正向索引以0开始,反向索引-1表示最后一个元素
判断某个元素是否在list中可以使用关键字 in
得到某个元素的索引可以使用 mylist[“a”]

**注意: **append接受一个任意类型的参数,并且简单的将这个参数添加到list尾部。Extend接受一个list参数,并且把这个list中的每个元素添加到原list中。

2、 Tuple

Tuple可以看做是一种“不可改变“的List,可以通过下标来访问元素用小括号()表示:
可以这样定义一个tuple:

t = (12,”python”,12.5)

空tuple:

 t = ()

只有一个元素的元组需要特别注意,为了与整数中带括号的一个数字区分,所以只有一个元素的元组需要在元素后面添加一个’,’.

T = ('python',)

元组一旦定义便不可改变,所以没有pop和insert、append方法等方法。
有一种情况下,tuple看上去是可以改变的。那就是在tuple内部存一个list,在这种情况下,list内是可以发生变化的,因为tuple只是指向了这个list,只要你不修改这个指向,list怎么变都可以,在tuple看来,它仍然是不变的。

t = ("python",12.5,[11,33])
print(t) #输出 ('python', 12.5, [11, 33])
t[2][0] = 22
t[2][1] = 66
print(t) #输出 ('python', 12.5, [22, 66])
3、 dict

dict其实是dictionary的缩写,也就是字典的意思,实际上就是Java中的map集合,它就是一个键值对的集合。用{}来表示一个字典。
可以这样来定义一个字典:

Mydict = {'name':'lili','age':12,'sex':'girl'}

空字典:

mydict = {}

ListTuple用下标来访问内容,而DictKey来访问: (字符串、整型、浮点型和元组tuple都可以作为dictkey),如果key是不存在的会报错,所以在访问时可以查询一下key是否存在,或者使用get()方法。
常用函数

  • dict.clear() 删除字典中所有元素
  • dict.copy()返回字典(浅复制)的一个副本
  • dict.get(key,default=None) 对字典dict中的键key,返回它对应的值value,如果字典中不存在此键,则返回default 的值(注意,参数default 的默认值为None)
  • dict.has_key(key) 如果键(key)在字典中存在,返回True,否则返回False
  • dict.items()返回一个包含字典中(键, 值)对元组的列表
  • dict.keys() 返回一个包含字典中键的列表
  • dict.values() 返回一个包含字典中所有值的列表
  • dict.pop(key[, default]) 和方法get()相似,如果字典中key 键存在,删除并返回dict[key],如果key 键不存在,且没有给出default 的值,引发KeyError 异常。

注意:如果想要按照key来获取value,那么最好使用get方法!

更新字典:直接使用dict[key] = value
添加数据:使用 dict[newkey] = new_value

4、 set

set是没有重复元素并且是无序的集合。set集合是无序的,不能通过索引和切片来做一些操作。像列表、字典、字符串这类可迭代的对像都可以做为集合的参数。

s = set(['apple','banan','cat'])

1、 访问set
由于set存储的是无序集合,所以我们没法通过索引来访问,因此访问set中的某个元素实际上就是判断一个元素是否在set中。可以使用关键字 in 来判断。
2、 更新set
一:添加元素时,用setadd()方法。如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了。
二:删除set中的元素时,用setremove()方法。如果删除的元素不存在set中,remove()会报错。所以用add()可以直接添加,而remove()前需要判断。

5、 总结一下:

list 是一个可修改可删除的有序集合。
tuple 是一个不可修改不可删除的有序集合。
dict 是一个可修改可删除的无序键值对集合。
set 是一个可修改可删除但不可重复的无序集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值