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 来连接 ...
随机推荐
- eclipse启动maven项目
pom.xml 文件. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w ...
- php中弱语言类型的底层实现
PHP是弱语言类型,主要分为三类: 1.标量类型:integer.string.float.boolean 2.复合类型:array.object 3.特殊类型:resource.null php是通 ...
- 当前目录如何打开cmd
前言 有时候需要在当前文件夹打开cmd控制台,直接从开始打开cmd进入当前目录比较麻烦,可以直接进入. 方法 按住键盘上Shift键的同时,在要操作的文件夹(DOS年代称为目录)上点击鼠标右键,在弹出 ...
- android中传统的创建数据库
1.在Android工程中建立一个class类,且继承与SQLiteOpenHelper. 2.然后到Mainactivity中去new一个MyOpenHelper来找到它 3.第一次创建数据库的时候 ...
- 一篇文章入门Jmeter性能测试【经典长文】
孟船长 目录 1.性能测试定义2.为什么要做性能测试3.性能测试指标.性能测试分类4.Jmeter性能测试实战[入门级]5.参考文章链接 1.性能测试定义 百度&知乎 性能测试是通过自动化的 ...
- JQuery判断form表单是否为空
功能:通过jquery判断form表单中是否有内容还未填写,如果有未填写的,则阻止提交 $(function () { $('form').bind('submit',function () { / ...
- Sort An Unsorted Stack
Given a stack of integers, sort it in ascending order using another temporary stack. Examples: Input ...
- UVa 10410 树重建
Tree Reconstruction Problem Description You have just finished a compiler design homework question w ...
- PHP经典乱码“口”字与解决办法
这几天看了看 Ajax 的基础知识,在练习一个简单的 请求和响应时,PHP 返回来的数据 在 IE 中开头总显示 一个 “锘” 字!上网 Baidu 了一下,发现这是由于 系统 处理 UTF-8 的方 ...
- spring 使用 maven profile
先看看 maven 定义 profile 的写法 <!-- profiles --> <profiles> <profile> <activation> ...