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 来连接 ...
随机推荐
- 了解WCF的前世今生之实现服务端(一)
http://www.cnblogs.com/jiagoushi/archive/2013/03/15/2962351.html 1.WCF是对现有的分布式通信技术的一个整合,其中包括Com/DCom ...
- Texas Instruments matrix-gui-2.0 hacking -- submenu.php
<?php /* * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ * * * Redistrib ...
- ElasticSearch(十):springboot集成ElasticSearch集群完成数据的增,删,改
前言 之前介绍了使用devTools进行索引库数据的crud,这里使用的是java程序,使用中间件activeMQ进行数据库和索引库数据的同步.主要是用来完成对数据库的修改来完成对索引库的同步. 正文 ...
- css样式 float的理解
float w3cSchool里解释说, 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止.由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样 ...
- 习题3.5 求链表的倒数第m个元素(20 分)浙大版《数据结构(第2版)》题目集
请设计时间和空间上都尽可能高效的算法,在不改变链表的前提下,求链式存储的线性表的倒数第m(>0)个元素. 函数接口定义: ElementType Find( List L, int m ); 其 ...
- Hadoop学习笔记(1)(转)
Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...
- Hadoop之HDFS
摘要:HDFS是Hadoop的核心模块之一,围绕HDFS是什么.HDFS的设计思想和HDFS的体系结构三方面来介绍. 关键词:Hadoop HDFS 分布式存储系统 HDFS是Hadoop的核心 ...
- MySQL--”自然键”和”代理键”优缺点
##=====================================================================================## 在数据库表设计中会纠 ...
- ImportTsv-HBase数据导入工具
一.概述 HBase官方提供了基于Mapreduce的批量数据导入工具:Bulk load和ImportTsv.关于Bulk load大家可以看下我另一篇博文. 通常HBase用户会使用HBase A ...
- poj 2449 Remmarguts' Date(K短路,A*算法)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u013081425/article/details/26729375 http://poj.org/ ...