Python 列表 元组 集合 字典

刚开始学Python,对于刚学完C语言的我来说,厘清这几个定义确实花了不短的时间(至少相对于C语言来说),同时在网上好像没有看到比较清晰的解释,所以我想整理一下,之后用多了可能会回来再改

序列

序列是具有先后关系的一组一维元素

同时python相对C语言非常方便的一点是其中元素的类型不必相同,不仅是数字或字符,同时也能包括自身类型的元素,比如[1, ‘c’, ”abc“, [2, d], {a, c, b}]。

序列可以通过下标进行(随机/无序)读取如下图,注意正反向起始序号不同

序列类型通用操作符

x in s : 如果x 是 序列s的元素,返回True,否则返回False

x not in s : 与上式相反,不是则返回True

s + t : 返回两个序列s与t的连接结果

s*n 或 n*s :返回序列s复制n次的结果是

s[i] : 返回序列s中的下标为i的元素

s[i:j:k] : 切片操作,返回序列s中从下标为i的元素至第j个元素(不包括第j个)的元素子序列,步长为k,其中k及其之前的那个冒号可以省略,默认为1
                同时切片可以理解为当k大于零时从前往后,k小于零时从后往前

[Python]切片完全指南(语法篇) 这篇感觉挺细的https://zhuanlan.zhihu.com/p/79541418#:~:text=%E5%9C%A8Python%E4%B8%AD%EF%BC%8C%20%E5%88%87%E7%89%87%20%28slice%29%20%E6%98%AF%E5%AF%B9%E5%BA%8F%E5%88%97%E5%9E%8B%E5%AF%B9%E8%B1%A1%20%28%E5%A6%82%20list%2C%20string%2C,tuple%20%29%E7%9A%84%E4%B8%80%E7%A7%8D%E9%AB%98%E7%BA%A7%E7%B4%A2%E5%BC%95%E6%96%B9%E6%B3%95%E3%80%82%20%E6%99%AE%E9%80%9A%E7%B4%A2%E5%BC%95%E5%8F%AA%E5%8F%96%E5%87%BA%E5%BA%8F%E5%88%97%E4%B8%AD%20%E4%B8%80%E4%B8%AA%E4%B8%8B%E6%A0%87%20%E5%AF%B9%E5%BA%94%E7%9A%84%E5%85%83%E7%B4%A0%EF%BC%8C%E8%80%8C%E5%88%87%E7%89%87%E5%8F%96%E5%87%BA%E5%BA%8F%E5%88%97%E4%B8%AD%20%E4%B8%80%E4%B8%AA%E8%8C%83%E5%9B%B4%20%E5%AF%B9%E5%BA%94%E7%9A%84%E5%85%83%E7%B4%A0%EF%BC%8C%E8%BF%99%E9%87%8C%E7%9A%84%E8%8C%83%E5%9B%B4%E4%B8%8D%E6%98%AF%E7%8B%AD%E4%B9%89%E4%B8%8A%E7%9A%84%E8%BF%9E%E7%BB%AD%E7%89%87%E6%AE%B5%E3%80%82

序列类型通用函数 

len(s) : 返回序列s的长度即元素长度

min(s) : 返回序列s中的最小元素(需要元素可比较)

max(s) : 同上,返回最大值

s.index(x, i, j) : 返回序列s中下标i至j中第一个x元素的下标,其中i与j及其之前的逗号可省略,默认范围为全序列

s.count : 返回序列s中x元素出现的总次数

字符串

列表

        列表使用[]或list()创建,元素之间由逗号分隔,创建之后可以修改,注意其中元素类型可以不同。

列表类型操作函数

list[i] = x :  将列表list下标为i的元素替换为x

list[i:j:k] = list1 : 用列表list1替换list切片所对应的元素子列表

del list[i:j:k] : 删除列表list中对应切片的元素,j与k及其之前的逗号可以省略,默认只删除下标为i的元素

list += list1 : 将列表list1的元素添加到列表list中

list *= n : 更新列表list为 其元素顺序重复n次的列表

>>>list = ["red", "green", "blue"]
>>>list
['red', 'green', 'blue']
>>>list[1:2] = [1, 2, 3, 4]
>>>list
['red', 1, 2, 3, 4, 'blue']
>>>del list[::3]
[1, 2, 4, 'blue']
>>> list*2
[1, 2, 4, 'blue', 1, 2, 4, 'blue']

list.append(x) : 在列表最后增加一个元素x

list.clear() : 删除列表list中所有元素

list.copy() : 返回一个与list相同的列表

list.insert(i, x) : 在列表下标为i的地方增加元素x
list.pop(i) : 删除并返回列表list中第i个元素

list.remove(x) : 删除列表liest中的第一个x元素

list.reverse() : 反转列表list中的元素

>>> list = ["cat", "dog", "tiger", 1024]
>>> list.append(1234)
['cat', 'dog', 'tiger', 1024, 1234] 
>>> list.insert(3, "human")
['cat', 'dog', 'tiger', 'human', 1024, 1234]
>>> list.reverse()
[1234, 1024, 'human', 'tiger', 'dog', 'cat']

元组

        元组使用()或 tuple() 创建(也可以不使用括号),元素之间由逗号分隔,且元组一旦创建就不能修改。也因为不能修改元组没有特殊操作。

>>>creature = "red", "green", "blue" #此处没有使用括号
>>>creature
('red', 'green', 'blue') # 输出为元组类型

集合

        这个集合和数学中的集合概念一样,集合中的元素无序而唯一。

        集合使用{}或set()建立(空集合必须用set()创建),元素之间用逗号分隔。

集合的操作

S | T : 并,返回一个包括   在集合S和T中的所有元素的集合

S - T : 差,返回一个包括   在集合S但不在T中的元素的集合

S & T : 交,返回一个包括  同时在集合S和T中的元素的集合

S ^ T : 补,返回一个包括   集合S和T中的非相同元素的集合

S >= T : 返回True/False,判断S和T的包含关系,等号可省略

增强操作 

 S |= T : 使集合S   包括在集合S和T中的所有元素

S -= T : 使集合S   包括在集合S但不在T中的元素

S &= T : 使集合S  包括同时在集合S和T中的元素

S ^= T : 使集合S  包括集合S和T中的非相同元素

集合的处理 

S.add(x) :   如果x不在集合S中,将x增加到S

S.discard(x) :  移除S中元素x,如果x不在集合S中,不报错

S.remove(x) : 移除S中元素x,如果x不在集合S中,产生KeyError异常

S.clear() :   移除S中所有元素

S.pop() :    随机删除并返回S的一个元素,若S为空则产生KeyError异常

set(x) :       将变量x转变为集合类型

字典

        使用字典要理解映射,就像列表中每个下标都对应唯一的位置,下标就是键(key),位置就是值(value)。在字典中,每个键都是唯一的,且都有唯一对应的值(值可以不唯一)。

        字典用{}与dict()创建,键和对应的值 为键值对,用 : 分隔,可以将键值对视为字典的元素。每个键值对之间用逗号分隔,如下。

<字典> = {<键1>:<值1>,  <键2>:<值2>,  <键3>:<值3>}
<字典>[<键>] = <值>

字典操作函数 

del d[k] :       删除字典d中键k对应的数据值

k in d :          判断键k是否在字典d中,如果在返回True,否则False

d.keys() :      返回字典d中所有的键信息

d.values() :   返回字典d中所有的值信息

d.items() :     返回字典d中所有的键值对信息

d.get(k, ) :     键k存在,则返回相应值,不在则返回值

d.pop(k, ) :     键k存在,则取出相应值,不在则返回值

d.popitem() :  随机从字典d中取出一个键值对,以元组形式返回

d.clear() :       删除所有的元素(键值对)

len(d) :          返回字典d中元素的个数

  • 35
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python编程语言中,有四种常用的集合数据类型,它们分别是列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。列表是一种有序和可更改的集合,允许重复的成员。元组是一种有序且不可更改的集合,也允许重复的成员。字典是一个无序、可变且有索引的集合,其中没有重复的成员。而集合是一种无序和无索引的集合,没有重复的成员。这四种集合数据类型在Python中都有着不同的特点和用途。 在Python中,列表元组和字符串都属于序列,它们的元素都可以通过编号进行访问。而字典则属于映射,其中的元素是以键值对的形式存在的。集合则不属于序列或映射中的任何一种,它是一种独立的数据类型,用于存储一组不重复的元素。 总结起来,Python中的列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)都是常用的集合数据类型,它们各自有着不同的特点和用途。列表是有序和可更改的集合元组是有序且不可更改的集合字典是无序、可变且有索引的集合集合是无序和无索引的集合。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [浅谈python四种集合数据类型—【列表元组集合字典】](https://blog.csdn.net/QWERTYzxw/article/details/121479048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [python 元组集合字典](https://download.csdn.net/download/weixin_38603219/13752298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值