python数据类型详细分析(附代码)
Posted 码农研究僧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据类型详细分析(附代码)相关的知识,希望对你有一定的参考价值。
前言
相关链接
直奔主题:
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对职业人群体检数据进行分析与可视化(附源码 超详细)
机器学习强基计划8-3:详细推导核化主成分分析KPCA算法(附Python实现)