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 来连接 ...
随机推荐
- GTK安装
上面是linux下GTK+配置所需要的库,关于各个库的功能,查看http://www.gtk.org/overview.php,至于库的下载在http://www.gtk.org/download/l ...
- Dockerfile构建mysql数据库
dockerfile文件: FROM centos:centos6 MAINTAINER admin "admin@topsec.com.cn" RUN yum insta ...
- 第十六篇 make中的路径搜索
在实际的工程项目中,源文件和头文件都会组织成一定的目录结构,这样也便于项目的管理,前述我们分析的makefile,源文件和头文件大都在当前目录,没有路径搜索的问题,下面我们引入今天的演示程序的目录结 ...
- Linux/Unix下Shell快捷键操作集合
本人收集整理了一些Bash或其他Shell中常用的快捷键,使用技巧以及Ubuntu中一些常用操作的快捷键,希望大家能从中受益,提高工作效率. 使用”!”从历史中执行命令 有时候,我们需要在 Bash ...
- HDU1212 大数膜
大数MOD #include<cstdio> #include<cstdlib> #include<iostream> #include<algorithm& ...
- python3 lambda函数
A=lambda x:x+1 def A(x):return x+1 冒号左边→想要传递的参数冒号右边→想要得到的数(可能带表达式)
- POJ 2367:Genealogical tree(拓扑排序模板)
Genealogical tree Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7285 Accepted: 4704 ...
- jsp之response方法
response简介 response对象:对客户端的请求作出回应,将Web服务器处理后的结果发回客户端. response对象:属于javax.servlet.HttpServletResponse ...
- 2017 ECL-FINAL J.Straight Master
题目链接:http://codeforces.com/gym/101775/problem/J 思路:序列差分一下,然后用得到的查分序列乱搞就可以了 注意差分序列第一项等于a[i],之后n-1项为ch ...
- hdu5229
bc41第二题: 题意:两个人有 n 个串,随机选出两个串,可以进行这样的操作:①选一个串消去最后一个字符,②若两串相同则可以全部消去两串 若到某个人时正好消去两个串,则这个人胜另一人负,问先手胜概率 ...