Python-05-数据类型 下 | Python 主题月

简介: Python-05-数据类型 下 | Python 主题月

Tuple


元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。


元组中的元素类型也可以不相同:


>>> t = (1,2,3,['a'],{'name':'phyger'})
>>> t
(1, 2, 3, ['a'], {'name': 'phyger'})
>>> t[1:]
(2, 3, ['a'], {'name': 'phyger'})
>>> t[:-2]
(1, 2, 3)
>>> t*2
(1, 2, 3, ['a'], {'name': 'phyger'}, 1, 2, 3, ['a'], {'name': 'phyger'})
>>> t[0]
1
>>> t[0]=2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>>
复制代码


虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。


构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:


>>> p = (1)
>>> p
1
>>> type(p)
<class 'int'>
>>> q = (1,)
>>> type(q)
<class 'tuple'>
>>> q
(1,)
>>>
复制代码


注意: 元组中的元组不可变,但是可以包含可变类型的元素,单个元素的元组有特殊的地方,记得加逗号“,”


Set


集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。


基本功能是进行成员关系测试和删除重复元素。


可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。


创建格式:


>>> st = {'xian','beijing','chengdu'}
>>> type(st)
<class 'set'>
>>> tt = set('xian')
>>> tt
{'x', 'i', 'a', 'n'}
>>> type(tt)
<class 'set'>
>>> bb = set('abcdaaa')
>>> bb
{'c', 'd', 'a', 'b'}
>>>
复制代码


集合运算:


>>> s1 = {1,2,3,4}
>>> s2 = {3,4,5,6}
>>> s1-s2      #差集
{1, 2}
>>> s1|s2      #或
{1, 2, 3, 4, 5, 6}
>>> s1&s2      #与
{3, 4}
>>> s1^s2      #与非
{1, 2, 5, 6}
>>>
复制代码


Dictionary


字典(dictionary)是Python中另一个非常有用的内置数据类型。


列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。


字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

键(key)必须使用不可变类型。


在同一个字典中,键(key)必须是唯一的。


>>> d = {'name':'phyger'}
>>> d
{'name': 'phyger'}
>>> type(d)
<class 'dict'>
>>> d['age']=18
>>> d
{'name': 'phyger', 'age': 18}
>>> d.keys()
dict_keys(['name', 'age'])
>>> d.values()
dict_values(['phyger', 18])
>>> d['age']=19
>>> d
{'name': 'phyger', 'age': 19}
>>> d.clear()
>>> d
{}
>>>
复制代码


数据类型转换


number2string


string = str(number)
>>> res = str(2)
>>> print(res.type(res))
2 <class 'str'>
复制代码


string2number


number= int(string)
>>> res = int('2')
>>> print(res,type(res))
2 <class 'int'>
复制代码


tuple2list


>>> y = (1,2,3)
>>> print(type(y))
<class 'tuple'>
>>> li = list(y)
>>> print(li,type(li))
[1, 2, 3] <class 'list'>
复制代码


list2tuple


>>> x = [1,2,3]
>>> res = tuple(x)
>>> print(res,type(res))
(1, 2, 3) <class 'tuple'>
相关文章
|
1月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能数据隐私保护
使用Python实现深度学习模型:智能数据隐私保护 【10月更文挑战第3天】
98 0
|
22天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
7天前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
16 1
|
8天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
8天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
1月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
45 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
1月前
|
计算机视觉 Python
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
这篇文章介绍了如何使用Python的OpenCV库将多张图片合并为一张图片显示,以及如何使用matplotlib库从不同txt文档中读取数据并绘制多条折线图。
41 3
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
|
1月前
|
数据可视化 算法 Python
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
本文介绍了如何利用Python脚本结合动态模态分解(DMD)技术,分析从OpenFOAM模拟中提取的二维切片数据,以深入理解流体动力学现象。通过PyVista库处理VTK格式的模拟数据,进行POD和DMD分析,揭示流场中的主要能量结构及动态特征。此方法为研究复杂流动系统提供了有力工具。
63 2
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
|
1月前
|
Python
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
本篇将详细介绍Python中的常见数据类型转换方法以及 `NoneType` 的概念。包括如何在整数、浮点数、字符串等不同数据类型之间进行转换,并展示如何使用 `None` 进行初始赋值和处理特殊情况。通过本篇的学习,用户将深入理解如何处理不同类型的数据,并能够在代码中灵活使用 `None` 处理未赋值状态。
55 2
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
|
21天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
48 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式