python之路05
一 元组
对于元组我们可以把他看成一个不可变的列表
# 元组:在()内用逗号分隔开的能够存多个值,对于元组来说列表有的一些功能它基本上都有,
# 1、按索引取值(正向取+反向取):只能取
# 2、切片(顾头不顾尾,步长)
# 3、长度
#4、成员运算in和not in
#5、循环
# age=(,,,,,,,,,)对于元组来说他相当于就是age=tuple(,,,,,,,,,)
#按照索引取值:
# age=(,,,,,,,,,)
# print(age[])
# 同样可以正向或者反向取,但是有一点就是元组只能取,而不能改。
#tuple可以作为一种操作:
# s='dfdkfkfugg'
# t=tuple(s)#可以将字符串转换成元组,在这个循环的过程实际上是一个循环的过程,把字符串中的字符一个一个转换成tuple的形式放到元组中去。
总结:可存多个元素,元素不可变。
二 字典
字典能够存多个值,但是是以key—value的形式存取,key与value在字典中是一个映射关系,通过key来取值,速度快。
# info={'name':'james','sex':'female','age':}
# 在这个过程中,本质上来说相当于:
# info=dict({'name':'james','sex':'female','age':})的一个过程。
# 等于info=dict(name='james',sex='female',age=)
# 等于info=dict(['name':'james'],['sex':'female'],['age':])
# 等于{}.fromkeys(('name','sex':,'age'),None)
# 那么对于字典中的key是不可变的,对于value是可变的。
2.1 字典的存取值
按key存取值
# dic={'nike':,'anta':,'lining':,'name':'james'}
# info=dic['nike']#将‘nike’所对应的值取出来
# l=dic.get('fg',None)#从字典中取键值,get的好处就是,即使输入错误的键值,程序不会报错,只是不能取到键值。
# for item in dic:
# print(dic[item])#如果想取出键,则直接打印item。若想打印出键值则打印dic[item]
# print(item,dic[item])#取出键值对
# print(dic.keys())#以dict_keys(['nike', 'anta', 'lining', 'name'])的形式输出字典的key值。
# print(dic.values())#以dict_values([, , , 'james'])形式输出字典的values。
# print(dic.items())##以dict_items([('nike', ), ('anta', ), ('lining', ), ('name', 'james')])的形式输出键值对。
2.2 循环与删除
#那么在字典中,删除字典里面的内容我们可以用pop和del
#当然首选pop # print(dic.pop('nike'))#pop会根据输入的键弹出对应的values,同时可以取出弹出的values #循环
# 那么同样的我们可以按照循环来取出字典中的键值对
# for item in dic:
# print(dic[item])#如果想取出键,则直接打印item。若想打印出键值则打印dic[item]
# print(item,dic[item])#取出键值对,同时将键值取出。 #那么同样是同时将键值对取出:
#
# for item in dic:
# print(item,dic[item]) #
# #print(dic.items())
##取出来的形式不同
三 集合
# st1={'1','2','3','4'}
# 集合:可以包含多个元素,用{}括起来的,用逗号分割。
# 集合的元素遵循三个原则:
# 1:每个元素必须是不可变类型(可hash,可作为字典的key)这一点与元组是一样的。
# 2:没有重复的元素,所以集合又具有去重的功能。
# 3:无序,所以对于集合的取值不能按照索引来取值。
# 集合的运算
# 集合的运算分为:
# 交集
#
# st1={'','','',''}
# st2={'','','',''}
# print(st1&st2)
#
# st1={'','','',''}
# st2={'','','',''}
# st1.intersection(st2)
# print(st1.intersection(st2)) #并集
#
# st1={'','','',''}
# st2={'','','',''}
# print(st1|st2)
#
# st1={'','','',''}
# st2={'','','',''}
# print(st1.union(st2)) # 交叉补集
# #
# st1={'','','',''}
# st2={'','','',''}
# print(st1^st2)
# #
# print(st1.symmetric_difference(st2)) # 差集
# #
# st1={'','','',''}
# st2={'','','',''}
# print(st1-st2)
# print(st2-st1)
# #
# print(st1.difference(st2))
# print(st2.difference(st1)) # 父集与子集
# 父集与子集是一个相对应的关系, # st1={'','','',''}
# st2={'','',}
# 那么这个时候就说st1是st2的父集,
# 相对应的st2就是st1的子集 # st1={'','','',''}
# st2={'','','',''}
# # print(st1&st2)
# # print(st1|st2)
# # print(st1-st2)
# # print(st2-st1)
# print(st1^st2)
# st1={'','','',''}
# st2={'','','',''}
# print(st1>=st2)
# print(st1<st2) # 集合去重:
# 集合去重的原理就是,集合中不能含有重复的元素
# # 现在我们定义一个列表:
# l=['','','sd','er','a','a','']
# st=set(l)
# print(st)
# # 输出结果为:可以看出输出的顺序没有按照列表的顺序,因为集合是无序的。而重复的部分被去除
# {'sd', 'er', 'a', '', ''} #那么我们如何实现在不改变列表中的顺序的情况下去重呢 #
# l=['','','sd','er','a','a','']
# st=set()
# l1=[]
# for item in l:
# if item not in st:
# l1.append(item)
# print(l1) #
# l1=[]
# for item in l:
# if item not in l1:
# l1.append(item)
# print(l1)
python之路05的更多相关文章
- python之路---05 字典 集合
二十.字典 可变数据类型 {key:value}形式 查找效率高 key值必须是不可变的数据类型 1.增删改查 1).增 dic["新key"] = "新v ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- Python之路,Day19 - CMDB、CMDB、CMDB
Python之路,Day19 - CMDB.CMDB.CMDB 本节内容 浅谈ITIL CMDB介绍 Django自定义用户认证 Restful 规范 资产管理功能开发 浅谈ITIL TIL即IT ...
- python之路-进程
博客园 首页 新随笔 联系 管理 订阅 随笔- 31 文章- 72 评论- 115 python之路——进程 阅读目录 理论知识 操作系统背景知识 什么是进程 进程调度 进程的并发与并行 ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- Python之路
Python学习之路 第一天 Python之路,Day1 - Python基础1介绍.基本语法.流程控制 第一天作业第二天 Python之路,Day2 - Pytho ...
- python之路 目录
目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
随机推荐
- 12.2 linux下的线程
什么是线程: 在一个程序里的一个执行路线就叫做线程(thread),更准确的定义是:线程是“一个进程内部的控制序列” 一切进程至少都有一个执行线程 进程与线程: 进程是资源竞争的基本单位 线程是程序执 ...
- js 获取客户端mac地址
js 获取客户端mac地址 javascript获取客户端网卡MAC地址和IP地址和计算机名 nodesj如何获得客户端的mac地址呢? 浏览器获取MAC地址 不限浏览器的mac地址取得的几种办法 I ...
- 20155328 2016-2017-2 《Java程序设计》第5周学习总结
教材学习内容总结 程序设计本身的错误,建议使用Exception或其子类实例来表现. Java中所有错误都会被打包成对象. 如果父类异常对象在子类异常对象前被捕捉,则catch子类异常对象的区块将永远 ...
- C# 处理DateTime算法,取某月第1天及最后一天
代码如下所示: /// <summary> /// 取得某月的第一天 /// </summary> /// <param name="datetime" ...
- js循环总结
js原生的循环有两种,一般的for循环和for...in循环.还有一种常用jQuery.each()循环. 一. js原生循环 a. for循环,代码如下: var myArray = [1,2,3] ...
- java开发中的常见类和对象-建议阅读时间3分钟
1.Dao 数据访问对象 此对象用于访问数据库.实现类一般用于用于操作数据库! 一般操作修改,添加,删除数据库操作的步骤很相似,就写了一个公共类DAO类 ,修改,添加,删除数据库操作时 直接调用公共类 ...
- ImportTsv-HBase数据导入工具
一.概述 HBase官方提供了基于Mapreduce的批量数据导入工具:Bulk load和ImportTsv.关于Bulk load大家可以看下我另一篇博文. 通常HBase用户会使用HBase A ...
- Spring插件3.8.2的安装
主机环境:win8 64bit eclipse版本:4.5.2 MARS 插件版本:Spring Tool Suite3.8.2 安装过程:直接在线安装,没有先在官网把插件下载再安装. 主要步骤: 1 ...
- Composer 技巧(以 FastAdmin 项目为基础)(2018-12-25 更新)
Composer 技巧(以 FastAdmin 项目为基础) 查看 FastAdmin 所有的已安装的 php 组件,如果不加 i 就是查看 composer.json 里的组件. composer ...
- Linux & Oracle目录说明
/bin:存放着一百多个Linux下常用的命令.工具 /dev:存放着Linux下所有的设备文件! /home:用户主目录,每建一个用户,就会在这里新建一个与用户同名的目录,给该用户一个自己的空间 ...