前言
Python 四种集合数据类型:
- 列表(List)是一种有序和可更改的集合。允许重复的成员。
- 元组(Tuple)是一种有序且不可更改的集合。允许重复的成员。
- 集合(Set)是一个无序和无索引的集合。没有重复的成员。
- 词典(Dictionary)是一个无序,可变和有索引的集合。没有重复的成员。。
常用的几种类型如上面所示
下面将一一讲解四种类型以及其中的区别
1. 列表
列表是以[]
格式,而且字符可以双引号或者单引号
x = ["a", "b", "c"] print(x) x = ["a", "b","c"] print(x)
截图如下:
列表中的方法有很多,举几个方法如下:
方法 | 描述 |
---|---|
append() | 在列表的末尾添加一个元素 |
clear() | 删除列表中的所有元素 |
copy() | 返回列表的副本 |
count() | 返回具有指定值的元素数量。 |
extend() | 将列表元素(或任何可迭代的元素)添加到当前列表的末尾 |
index() | 返回具有指定值的第一个元素的索引 |
insert() | 在指定位置添加元素 |
pop() | 删除指定位置的元素 |
remove() | 删除具有指定值的项目 |
reverse() | 颠倒列表的顺序 |
sort() | 对列表进行排序 |
怎么引用列表,通过其索引进行访问
具体访问通过其下标值进行访问
x = ["a", "b", "c"] print(x[1])
负索引进行访问,-1 表示最后一个项目,-2 表示倒数第二个项目
x = ["a", "b", "c"] print(x[-1])
通过其索引范围,具体是左闭右开
x = ["a", "b", "c"] print(x[0:1]) x = ["a", "b", "c"] print(x[0:]) x = ["a", "b", "c"] print(x[:1])
或者是负索引的范围
最右边是负1,也是左闭右开
x = ["a", "b", "c"] print(x[-3:-1])
怎么更改其列表值
列表可以更改值
具体更改只需要在索引值中更改其值即可
x = ["a", "b", "c"] x[1]="v" print(x)
列表中进行遍历输出
使用for each结构进行遍历输出
x = ["a", "b", "c"] for y in x: print(y)
检查列表中是否有该值
通过for in结构进行遍历,如果有该值进行输出
x = ["a", "b", "c"] if "a" in x: print("yes")
列表长度
x = ["a", "b", "c"] print(len(x))
添加元素
添加元素有多种,不过以下的展示注意区分
- 将项目添加到列表的末尾 append()
- 指定的索引处添加项目 insert()
x = ["a", "b", "c"] x.append("d") print(x) x = ["a", "b", "c"] x.insert(3,"d") print(x)
移除元素
移除元素也有多种,注意区分
- remove() 方法删除指定的项目
- pop() 方法删除指定的索引(如果未指定索引,则删除最后一项)
- del 关键字删除指定的索引
- clear() 方法清空列表
x.remove("d") x = ["a", "b", "c"] x.pop() print(x) del x[0] del x
del x
是完整的删除列表,最后输出x的时候也找不到该列表了
对比一下清空列表
x = ["a", "b", "c"] x.clear() print(x)
合并两个列表
合并列表可以通过+进行操作
x = ["a", "b", "c"] y = ["d","e","f"] x+y
具体添加列表可以结合append和extend进行for循环的添加
x = ["a", "b", "c"] y = ["d","e","f"] for z in y: x.append(z) x
x = ["a", "b", "c"] y = ["d","e","f"] x.extend(y) x
构造列表
通过双括号进行构建
x = list(("a", "b", "c")) x
2. 元组
相信讲完列表
对python的一些基本概念都了解得差不多
下面开始讲元组
结构也差不多大同小异
只不过元组是以()
为结构,且是不可更改
方法 | 描述 |
---|---|
count() | 返回元组中指定值出现的次数 |
index() | 在元组中搜索指定的值并返回它被找到的位置 |
x=("a","b","c") print(x) print(x[1]) print(x[-1]) print(x[0:1])
如果更改其数值
会出错
对比其列表
数组不可更改不可添加元素,无法删除其项目中的某一个,但可以彻底删除元组
但其遍历、检查项目是否存在、元组长度都是一样的
而且如需创建仅包含一个项目的元组,您必须在该项目后添加一个逗号,否则 Python 无法将变量识别为元组
x= ("a",) print(type(x)) #不是元组 x= ("a") print(type(x))
也可以通过构建元组的方式
x = tuple(("a", "b", "c")) # 请注意双括号 print(x)
3. 集合
无序和无索引的集合,用花括号
x = {"a", "b", "c"} print(x)
方法 | 描述 |
---|---|
add() | 向集合添加元素。 |
clear() | 删除集合中的所有元素。 |
copy() | 返回集合的副本。 |
difference() | 返回包含两个或更多集合之间差异的集合。 |
difference_update() | 删除此集合中也包含在另一个指定集合中的项目。 |
discard() | 删除指定项目。 |
intersection() | 返回为两个其他集合的交集的集合。 |
intersection_update() | 删除此集合中不存在于其他指定集合中的项目。 |
isdisjoint() | 返回两个集合是否有交集。 |
issubset() | 返回另一个集合是否包含此集合。 |
issuperset() | 返回此集合是否包含另一个集合。 |
pop() | 从集合中删除一个元素。 |
remove() | 删除指定元素。 |
symmetric_difference() | 返回具有两组集合的对称差集的集合。 |
symmetric_difference_update() | 插入此集合和另一个集合的对称差集。 |
union() | 返回包含集合并集的集合。 |
update() | 用此集合和其他集合的并集来更新集合。 |
集合中由于是无序的,所以无法将其显示索引值,但可以通过for进行遍历
无法更改其值,但可以添加一些值:
将一个项添加到集合add()
x = {"a", "b", "c"} x.add("d") print(x)
向集合中添加多个项目 update()
x = {"a", "b", "c"} x.update(["d", "e", "f"]) print(x)
删除集合中的项目remove()
或discard()
集合中无序,使用pop不知道清除哪个
x = {"a", "b", "c"} x.pop() print(x)
clear()
清空集合,del
彻底删除集合
union()
合并集合
构造集合使用
x = set(("a", "b", "c")) # 请留意这个双括号 print(x)
4. 字典
无序、可变和有索引的集合
字典用花括号编写,拥有键和值
x = { "a": "1", "b": "2", "c": 3 } print(x)
获取值可以通过直接索引或者get获取
方法 | 描述 |
---|---|
clear() | 删除字典中的所有元素 |
copy() | 返回字典的副本 |
fromkeys() | 返回拥有指定键和值的字典 |
get() | 返回指定键的值 |
items() | 返回包含每个键值对的元组的列表 |
keys() | 返回包含字典键的列表 |
pop() | 删除拥有指定键的元素 |
popitem() | 删除最后插入的键值对 |
setdefault() | 返回指定键的值。如果该键不存在,则插入具有指定值的键。 |
update() | 使用指定的键值对字典进行更新 |
values() | 返回字典中所有值的列表 |
总结
到此这篇关于python数据类型详细分析的文章就介绍到这了,更多相关python数据类型分析内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_47872288/article/details/120372825