python的组合数据
python的组合数据包括:1.列表list[ ] 2.元组tuple(),3.字典dict{"x":"y"},4.集合set{}
1.创造组合数据:均可直接使用创造如:list1=[1,2,3,4] tuple1(1,2,3,4) dict{"1":"2"."3":"4"}
对于list tuple和set可以互相转化 如:list1=[1,2,3,4] set1=set(list1) tuple1=tuple(list1)
字典比较特殊使用dict()创造但是有区别:
1.使用关键字创造字典:dict1=dict{name="sm7",grade="100"}
2.使用映射函数 dict1=dict(zip(["name,grade"],["sm7",100])) #字符串必须加“”上一个是关键字所以不用加
3.使用迭代添加 dict1=dict([("name","sm7"),("grade",100),("height",200)]) #dict()后是一个列表没一个key-vaule是其中的一个元素
2.访问:
1.set是无序的所以不能单体访问只能整体输出
2.对于list和tuple,可以采取正常C语言数组访问类型:如 list1[0] #数组是有0开始所以访问是由0到numble-1为范围
还可以切片式访问,切片式访问指访问一部分从某一个位置到另一个位置还可以增加间隔 如list1[0:9:2]意思是从list的第二个位置到第八个位置中途间隔为2,也可以不添加间隔
3.对于字典的访问:同上可使用[]这个符号作为访问,但不同的是,对于dict这种特殊的组合数据,采用dict1[key]来获取value,或dict1.get(key)函数来获取对应的value。dict.items()返回字典所有,dict.keys()返回所有的key,dict.values()返回所有的value,通常采用for循环提出。如 for x,y in dict1.items() 对于items而已首先进行获取的是key,其后一个为value。
3.添加、修改和删除元素:
1.元组是固定的无法修改和删除里面的元素,只能对元组进行删除重建#所以在这一小节中tuple可以忽略
2.修改元素:#set是无序的所以无法指定修改list的元素。修改只能在list和dict里面
1.直接赋值替换:如list1[1]= 列表 dict1[key]=value
2.list特有的切片赋值list1[2:4]=[1,“火龙果”]
3.删除元素 :
list:del list[index] list.pop()#删除末尾的list 若添加了index就是删除指定的list 如list.pop(index) list.remove(index)同上 list.clear()直接清空 list[::] = [] 同样可以切片删除
dict :del dict1[key] 删除指定key的key-value dict1.pop(key)同上 dict1.popitem()随机删除一个元素 dict1.clear()清空dict
set : set.remove(item) set.discard(item)删除指定item set.pop()随机删除一个元素 set.clear()清空
综上可以看见del xxx[指定]对于list和dict是通用的
.remove(num)对于list和 set可以指定删除
pop()对于list是删除末尾对于set是随机删除而dict的随机删除是popitem() 而xxx.pop(num)对于list和dict是指定删除
都有一个.clear()清空
4.复制组合数据
浅复制与复制:在python中浅复制.copy()函数是指复制后的单位是独立的与之前的无关。复制 如 list1=list2只list1与list2是等同的更改list1和list2任意一个另外一个都会同时修改
*tuple没有浅复制
4.特殊运算
set:集合肯定会有集合的运算:
并集 set1.union(set2) ==set1 | set2
交集 set1.intersection(set2) == set1 &set2
差集 set1.difference(set2) == set1 - set2
子集 set1.issubest(set2) == set1 < set2 判断子集
成员运算 item in set1 或 item not in set 1同上
tuple 和list:
运算“+”将几个列表组合在一起成为一个新的 list1=list2+list3+...+list5
* 乘法符号:numble与list相乘得到一个重复N遍list的新的list
in与not in 上面有讲
两个list或tuple可以用<>来比较从第一个元素开始对等比较
list常常作为栈和队列来使用。append表示入栈,pop出栈。
而作为队列使用时,先导入collections模块中的deque再通过deque创建队列 如:
from collections import deque
q = deque(["maybe","ame","ppd"])
python的组合数据的更多相关文章
- 易百教程人工智能python修正-人工智能数据准备-标记数据
我们已经知道,某种格式的数据对于机器学习算法是必需的. 另一个重要的要求是,在将数据作为机器学习算法的输入发送之前,必须正确标记数据. 例如,如果所说的分类,那么数据上会有很多标记. 这些标记以文字, ...
- Python的组合数据类型
""" Python的组合类型: 序列类型:元素之间存在先后关系,可以通过索引来访问 列表: 元组: 字符串: 映射类型:用键值来表示数据 字典: 集合类型:元素是无序的 ...
- 使用Python解析JSON数据的基本方法
这篇文章主要介绍了使用Python解析JSON数据的基本方法,是Python入门学习中的基础知识,需要的朋友可以参考下: ----------------------------------- ...
- python matplotlib plot 数据中的中文无法正常显示的解决办法
转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...
- Python/Numpy大数据编程经验
Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点. ...
- Windows下Python读取GRIB数据
之前写了一篇<基于Python的GRIB数据可视化>的文章,好多博友在评论里问我Windows系统下如何读取GRIB数据,在这里我做一下说明. 一.在Windows下Python为什么无法 ...
- 为什么说Python 是大数据全栈式开发语言
欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 原文链接 h ...
- python的组合数据类型及其内置方法说明
python中,数据结构是通过某种方式(例如对元素进行编号),组织在一起数据结构的集合. python常用的组合数据类型有:序列类型,集合类型和映射类型 在序列类型中,又可以分为列表和元组,字符串也属 ...
- 用Python浅析股票数据
用Python浅析股票数据 本文将使用Python来可视化股票数据,比如绘制K线图,并且探究各项指标的含义和关系,最后使用移动平均线方法初探投资策略. 数据导入 这里将股票数据存储在stockData ...
随机推荐
- SQL语句分类和语法
DQL:Data QueryLanguage 数据查询语言 作用: 查询表中的字段 命令: select 查询 ⑦select 查询列表①from 表1 别名②连接类型 joi ...
- spring自动装配和通过java实现装配
1.组建扫描 在类上添加注解@Component注解可以实现组建扫描 @Component public class A{ ... } 2.自动装配 通过在属性上或者方法上添加@Autowired注解 ...
- 第四十六篇 入门机器学习——kNN - k近邻算法(k-Nearest Neighbors)
No.1. k-近邻算法的特点 No.2. 准备工作,导入类库,准备测试数据 No.3. 构建训练集 No.4. 简单查看一下训练数据集大概是什么样子,借助散点图 No.5. kNN算法的目的是,假如 ...
- 开发笔记—钉钉服务商应用isv开发,从应用配置,到获取客户企业通讯录
以第三方企业微应用为例 在第三方企业微应用应用时,比较底层的需求,就是应用需要获取客户企业的通讯录,即部门/员工的数据.本人整理以下几个关键数据,供大家开发参考. 新建第三方微应用时,能拿到这些初始数 ...
- js获取后台map格式数据
后台: @RequestMapping("/dictList") @ResponseBody public Map<String, Object> positionLi ...
- form表单提交且接口回调显示提交成功
前端: <form method="post" enctype="multipart/form-data" id="formSubmit&quo ...
- 关于Sublime如何配置C++环境的问题
前言 传说sublime是全球最好的编辑器,可是只是编辑器啊!!!如果要运行,对于我们这些蒟蒻来说,不得不去使用DEV_C++.我们总是幻想能让sublime变成一个轻量级IDE,那该多好啊!!! 那 ...
- kill pkill
首先说一下kill命令,它是通过pid(进程ID)来杀死进程,要得到某个进程的pid,我们可以使用ps(process status)命令,默认情况下,kill命令发送给进程的终止信号是15,但是有些 ...
- navicat导入.csv表格
我本地的navicat不知道啥情况,导入不了表格,然后把表格转为.csv的,然后导入就好了 1.表格另存为.csv格式的 2.打开Navicat,选择要导入的表,然后右键->导入向导,选择.cs ...
- python+tkinter制作一个可自定义的动态时钟及详细解释,珍藏版
1.效果图 2.完整代码 #第1步:导出模块 from tkinter import * import math,time #第2步:定义窗口的相关设置 root = Tk() root.title( ...