python数据类型详细分析(附代码)

Posted 码农研究僧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据类型详细分析(附代码)相关的知识,希望对你有一定的参考价值。

前言

相关链接

  1. python之numpy详细分析(附代码)
  2. python之pandas详细分析(附代码)
  3. python之Matplotlib详细分析(附代码)

直奔主题:
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实现)

基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)

深度学习篇之数据集划分方法-附代码python详细注释