Python3(二) 表示‘组’的概念与定义
现实世界中总存在一组一组的事物,
一、列表的定义
type(['hello','world',1,9,True,False]) = <class 'list'> type([[1,2,3,],[1,2],[True,False]]) =<class 'list'> 嵌套列表
二、列表的基本操作
['第一个数','第二个数','第三个数','第四个数'][-1]='第四个数' ['第一个数','第二个数','第三个数','第四个数'][-2:]=['第三个数', '第四个数'] ['第一个数','第二个数','第三个数','第四个数']+['另外一个数','另外第二个数']=['第一个数', '第二个数', '第三个数', '第四个数', '另外一个数', '另外第二个数'] ['第一个数','第二个数','第三个数','第四个数']*3=['第一个数', '第二个数', '第三个数', '第四个数', '第一个数', '第二个数', '第三个数', '第四个数', '第一个数', '第二个数', '第三个数', '第四个数']
列表的操作有哪些?
import random as ran
lis =[y for y in range(10)] # lis[1]=10
# print(lis) # [0, 10, 2, 3, 4, 5, 6, 7, 8, 9] # lis[2:5]=list("hello")
# print(lis) # [0, 1, 'h', 'e', 'l', 'l', 'o', 5, 6, 7, 8, 9] # lis.append('hello')
# print(lis) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'hello'] # del lis[:]
# print(lis) #[] # lis=lis.count(9) #这个 list 里面有多少个 'hello'
# print(lis) # 1 列表中有一个9 # print(lis) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# print(lis.pop()) # 9 删除最后一个
# print(lis.pop(1)) # 1
# print(lis) # [0, 2, 3, 4, 5, 6, 7, 8] # lis.remove(5) # 移除第一个
# print(lis) # [0, 1, 2, 3, 4, 6, 7, 8, 9] # lis.reverse() # 列表反转
# print(lis) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] # lis.clear() # 清除列表
# print(lis) # [] # b =lis.copy()
# print(b) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # lis=[x for x in range(10) if x%2 ==0]
# lis_extend=[x for x in range(10) if x%2 ==1]
# print(lis) # [0, 2, 4, 6, 8]
# print(lis_extend) # [1, 3, 5, 7, 9]
#
# lis.extend(lis_extend) # 追加列表 原来列表变化 + 号处理后不改变原来列表
# print(lis) # [0, 2, 4, 6, 8, 1, 3, 5, 7, 9] # lis.insert(0,'hello')
# print(lis) # ['hello', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # lis.insert(0,list([1,2,3,]))
# print(lis) # [[1, 2, 3], 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # lis =[round(ran.random()*11,2) for x in range(10)]
# print(lis) # [8.39, 8.61, 9.59, 9.23, 7.41, 6.91, 7.93, 7.41, 4.75, 5.9]
# lis.sort(reverse=True) #reverse True 是倒序
# print(lis) # [9.59, 9.23, 8.61, 8.39, 7.93, 7.41, 7.41, 6.91, 5.9, 4.75]
三、元组
(1, 2, 3, 4, 5)
(1, -1, True)
(1,2,3,4,5)[2]=3
(1,2,3,4,5)[:2]=(1, 2)
(1,2,3,4,5)+(6,7)=(1, 2, 3, 4, 5, 6, 7)
(1,2,3,4,5)*3=(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5)、
type((1,2,3))=<class 'tuple'>
type((1))=<class 'int'> type((1,))=<class 'tuple'> type(())=<class 'tuple'>
type(("hello"))=<class 'str'> ()括号 定义运算 所以当括号只有一个元素时候 括号当作是运算符号 而不是元祖的标识
元组的具体操作有哪些?
元组 ,不可变。不能修改,
a=[1,2,3,4]
b='hello'
print(tuple(a)) # (1, 2, 3, 4)
print(tuple(b)) # ('h', 'e', 'l', 'l', 'o')
四、序列总结
有序
int, float, bool, str, list, tuple
str, list, tuple 序列
共有操作
每个序列元素都有一个序号
切片 ['第一个数','第二个数','第三个数','第四个数'][-2:]=['第三个数', '第四个数']
是否包含元素 3 in [1,2,3,4,5,6] =True 3 not in [1,2,3,4,5,6]=False
+ * 操作
len([1,2,3,4,5,6])=6 len("hello world")=11
max([1,2,3,4,5,6])=6 min([1,2,3,4,5,6])=1 max("hello world")=“w”
ord() 接受一个参数 转换成为ascll 码 ord("w")=119 ord(" ")=32
五、set 集合 {}
无序,不支持序列操作
type({1,2,3,4,5,6})=<class 'set'>
不重复性 {1,1,2,2,3,3,4,4}={1, 2, 3, 4}
len({1,2,3,4,5,6})=6
in {1,2,3,4,5,6}=True
not in {1,2,3,4,5,6}=False
求两个集合差集 {1,2,3,4,5,6} - {3,4} = {1, 2, 5, 6}
求两个集合的交集 {1,2,3,4,5,6} & {3,4} = {3, 4}
求两个集合的合集 {1,2,3,4,5,6} | {3,4,7} = {1, 2, 3, 4, 5, 6, 7}
如何定义空的集合 set()
六、dict 字典
dic=[('name','shiguang'),('学号',10086)]
print(dict(dic)) # {'name': 'shiguang', '学号': 10086}
print(dict(name="拾光",age=18)) # {'name': '拾光', 'age': 18}
字典的一些操作:
# 字典
# dic={'name': 'shiguang', '学号': 10086} # 修改 查找
# dic['name']='hello'
# print(dic['name']) # hello # del 删除
# del dic
# del dic['name']
# print(dic) # {'学号': 10086} #清空
# dic.clear()
# print(dic) #{} # print('我的名字叫: %(name)r 学号:%(学号)s '%dic) # 我的名字叫: 'shiguang' 学号:10086 # 设置默认值
# dic.setdefault('abcd',True)
# print(dic['abcd']) # True dic={'name': 'shiguang', '学号': 10086,'info':['name',19,18]}
dic_copy=dic.copy() # 浅复制
# dic['age']=18
# print(dic) # {'name': 'shiguang', '学号': 10086, 'info': ['name', 19, 18], 'age': 18}
# print(dic_copy) # {'name': 'shiguang', '学号': 10086, 'info': ['name', 19, 18]} # dic['info'].remove('name') #两个都会删除
# del dic['name'] #copy的字典不会删除
# print(dic) # {'学号': 10086, 'info': [19, 18]}
# print(dic_copy) # {'name': 'shiguang', '学号': 10086, 'info': [19, 18]} # 深复制
from copy import deepcopy dic_copy=deepcopy(dic)
dic['info'].remove('name') # deepcopy的name不会删除
del dic['name'] # deepcopy的字典不会删除
print(dic) # {'学号': 10086, 'info': [19, 18]}
print(dic_copy) # {'name': 'shiguang', '学号': 10086, 'info': ['name', 19, 18]}
Key 不可变的类型 Value 可以使任何类型
字典定义形式 {key1:value1,key2:value2...}
type({1:1,2:2,3:3}) = <class 'dict'>
{'Q':'q技能','W':'w技能','E':'e技能','R':'r技能'}
通过key 来访问/得到 value 字典不能有相同的key
{'Q':'q技能','W':'w技能','E':'e技能','R':'r技能'}['Q'] = 'q技能'
{1:'q技能','':'w技能','E':'e技能','R':'r技能'}[''] = 'w技能'
七、思维导图总结基本数据类型

Python3(二) 表示‘组’的概念与定义的更多相关文章
- Python(二) 表示‘组’的概念与定义
现实世界中总存在一组一组的事物, 一.列表的定义 type(['hello','world',1,9,True,False]) = <class 'list'> type([[1,2,3, ...
- 四、python中表示组的概念与定义
现实世界中总是存在一组一组的事物,如俄罗斯方块.游戏中的技能.世界杯总决赛(8个小组,每组4个队) 一.python中如何表示“组”的概念 1.列表 1)定义 [1,2,3,4,5] type[1,2 ...
- Direct3D11学习:(二)基本绘图概念和基本类型
转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 在正式开始学习D3D11之前,我们必需首先学习必要的基础知识. 在这篇文章中,我们将介绍一下Direct3D ...
- 图解Disruptor框架(二):核心概念
图解Disruptor框架(二):核心概念 概述 上一个章节简单的介绍了了下Disruptor,这节就是要好好的理清楚Disruptor中的核心的概念.并且会给出个HelloWorld的小例子. 在正 ...
- Elasticsearch入门教程(二):Elasticsearch核心概念
原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:ht ...
- Java正则表达式中的捕获组的概念及相关API使用
要弄清这三个方法,首先要弄清Java正则表达式中的捕获组的概念.捕获组也就是Pattern中以括号对“()”分割出的子Pattern.至于为什么要用捕获组呢,主要是为了能找出在一次匹配中你更关心的部分 ...
- 6月29-7月5日成都uber优步司机第一/二/三组奖励政策明细
成都优步司机第一/二/三组奖励更新了,在写下文之前,我先吐槽一下:靠优步uber发财致富已成往事. 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册Uber司机(全 ...
- (二)MongoDB基本概念
(二)MongoDB基本概念 mongodb 2018年03月07日 08时43分53秒 mognoDB是一个面向文档的数据库,而不是关系型数据库,是不是用关系型数据库主要是为了获得更好的扩展性,还会 ...
- Device Tree(二):基本概念
转自:http://www.wowotech.net/linux_kenrel/dt_basic_concept.html 一.前言 一些背景知识(例如:为何要引入Device Tree,这个机制是用 ...
随机推荐
- 解决:'chromedriver' executable needs to be in PATH的问题
0.前言 今天写一个B站登录的模拟器时,用到了Chrome浏览器,但是会报了一个异常"'chromedriver' executable needs to be in PATH", ...
- php进程 热更新
后台启动的php守护进程时 文件内include的代码变更并未生效,需要重启进程,我们可以更新代码后手动重启.但是有些对失效要求较高.那就需要自动重启了.下面整理出三个方案用以实现. 1 inoti ...
- vs推送git失败,修改git下config的Log
一开始写完程序套推送到Git中,然后就来了一下,下面的异常: 异常1 发布到远程存储库时遇到错误: Git failed with a fatal error. fatal: HttpRequestE ...
- 14、python异常处理及断言
前言:本文主要介绍python中异常的处理及断言,包括异常类型.异常捕获.主动跑出异常和断言. 一.异常类型介绍 什么是异常?异常即是一个事件,该事件会在程序执行过程中发生,会影响程序的正常执行,一般 ...
- Python单元测试unittest测试框架
本文的主题是自动化测试框架的实现,在实现之前,先了解一下关于unittest模块的相关知识: Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回 ...
- C语言寒假大作战02
2.2.1 寒假大作战 问题 回答 这个作业属于哪个课程 2019软件四班C语言寒假作业大作战 这个作业要求在哪里 作业要求 我在这个课程的目标是 用switch完成一个menu基本框架 这个作业在那 ...
- SpringBoot任务篇Ⅴ --- 异步任务、定时任务、邮件任务
Java的任务在项目中需要用到的地方很多,比如,每月月末的财务报表给财务部门,定时给领导发个邮件短信等等.这时候我们就需要用到任务了,任务调度本身涉及到多线程并发.运行时间规则制定和解析.场景保持与恢 ...
- CSS-- 实用CSS样式
自用实用CSS样式 1.清除DIV浮动 <span style="font-family:KaiTi_GB2312;">clear: both;</span> ...
- .net core控制台使用log4net
第一步,Nuget log4net包 第二步,在项目中添加一个新xml文件,我这里是直接从.net framework的项目里复制过来的config文件,不过效果是一样的 内容如下: ?xml ver ...
- 20190708三人开黑CF模拟赛
7月8号晚上8点和两位巨佬开了一场虚拟cf: [Helvetic Coding Contest 2018 online mirror (teams allowed, unrated)] 我这么蔡,只A ...