day05_python_1124
---恢复内容开始---
改l1[1:4:2]=[1:32] 对于增加个数
列表按切片取就是列表
---恢复内容结束---
01 昨日内容回顾
list:
增: append insert(index,object) extend() 迭代着追加
删:
pop(默认删除最后一个)按照索引去删除 有返回值
remove 按照元素去删除
clear 清空列表
del l1 删除列表
del l1[index] 按照索引删除
del l1[0:3] 按照切片删除
del l1[0:3:2] 按照切片删除
改
l1[2] = 'alex'
l1[1:3] = 'abcd' 迭代着添加
l1[1:4:2] = [1, 33]
查:
索引,切片,切片(步长)
for 循环
index:通过元素查询索引
count:查找某个元素在列表中的个数。
sort:排序,默认从小到大排序
sort(reverse=True) 从大到小
l1.reverse()
len() 统计列表的元素的总个数。
l1 = [1, 2, ['alex', 'barry'], 33]
l1[1] = 200
l1[2][0] = l1[2][0].upper()
元组:
(1, 'alex', True)
查:索引,切片, 切片(步长) for循环
index,count,len()
(1, 'alex', True,[1,2,3])
range() : 当做:可控范围的数字列表
与for循环结合。
02 作业讲解
03 字典
04 字典的嵌套
05,集合(了解)。
03 字典
why:
1,列表如果存储大量的数据,查询速度相对慢一些。
2,列表存储的数据一般没有什么关联性。
[小潘, 175, 男,......]
针对以上因素,python提供了一个基础数据类型:dict字典。
数据类型的分类:
容器型数据类型:list,tuple,dict set。
非容器型数据类型:str bool int。
可变(不可哈希)的数据类型:list,dict,set。
不可变(可哈希)的数据类型:str,bool, int,tuple
(1, 2, 'alex', [1,2,3,])
b1 = True
b1 = False
l1 = [1, 2, 3]
l1.append(666)
what:字典:
{'name': 'alex'} 以键值对形式存储的数据类型。
1,字典的键必须是不可变(可哈希hash)的数据类型,唯一的不重复。
字典的值可以是任意数据类型(对象)。
2,字典的查询速度非常快。
3,字典在3.5包括3.5之前是无序的,但是3.6优化机制,字典会按照创建字典之初的顺序排列。
4,字典可以存储大量的关联性数据。
{'name': 'alex','python3期':['小潘','春哥', '二师兄'],
'太白':{
'name':'太白金星',
'id': 1306546743423,
'phone': 1358225xxxx,
'sex': '男'
}
}
how:
增删改查
其他操作
where:
当你想构建大量的关系型数据的时候,用到dict。
dic = {'name': 'barry', 'age': 18, 'sex': 'man'}
# 增删改查
# 增
# 有则覆盖,无责添加
# dic['weight'] = 150
# dic['age'] = 28
# print(dic)
# setdefault有则不变,无责添加
# dic.setdefault('high')
# dic.setdefault('high',175)
# dic.setdefault('name', '日天')
# print(dic)
# 删
# pop 通过键去删除键值对
# ret = dic.pop('name')
# print(ret) # 有返回值 返回对应的值
# ret1 = dic.pop('name1', '没有此键') # 没有此键 就不报错并且设置返回值
# print(ret1)
# print(dic)
# clear 清空
# dic.clear()
# print(dic)
# popitem 删除最后一个键值对
# 3.5之前是随机删除,3.6删除最后一个键值对
# ret= dic.popitem()
# print(ret)
# print(dic)
# del
# del dic
# print(dic)
# del dic['name']
# # print(dic)
# 改
# dic['age'] = 28
# print(dic)
# dic1 = {"name": "jin", "age": 18, "sex":"male"}
# dic2 = {"name": "alex","weight": 75}
# dic2.update(dic1) # 将dic1字典中的键值对覆盖添加到dic2中,dic1不变。
# print(dic1)
# print(dic2)
# dic.update(weight=150,high=175)
# print(dic)
# 查
# 按照键查对应的值
# print(dic['name'])
# print(dic['name1']) # 没有此键会报错
# ret = dic.get('age')
# ret = dic.get('age1')
# ret = dic.get('age1','没有此键')
# print(ret)
#
# 直接循环字典获取的是key值、
# for i in dic:
# print(i)
# dic.keys() dic.values() dic.items()
# 上面三个都是返回一个类似于列表的容器的特殊数据类型。
# print(dic.keys())
# for key in dic.keys():
# print(key)
#
# print(dic.values())
# for value in dic.values():
# print(value)
#
# print(dic.items())
# for item in dic.items():
# print(item)
# 分别赋值
# a, b = 100, 200
# print(a, b)
# a, b, c = (1, 2, 3)
# a, b, c = [1, 2, 3]
# print(a,b,c)
a = 50
b = 30
a, b = b, a # a, b = 30, 50
# for k, v in dic.items():
# print(k, v)
04 字典的嵌套
# l1 = ['jay','alex']
# print(l1[0].upper())
# l1[0] = l1[0].upper()
# print(l1)
# dic = {
# 'l1': ['alex', '太白'],
# 'id': 3,
# 1: {
# 'data': 20181225,
# 'place': '深圳校区',
# 'class': 'python3期',
# 'name_list': ['小潘', 'jay', '春哥', 'xx'],
# }
# }
# 1,给小列表['alex', '太白'] alex后面插入一个字符串,'aaa'
# dic['l1'].insert(1,'aaa')
# dic2 = {'l1':['alex','aaa', '太白']}
# dic.update(dic2)
# print(dic)
# 2,将id对应的3变成1.
# dic['id'] = 1
# print(dic)
# 3,将 1 对应的字典的data变成20181224,
# dic2 = dic[1]
# dic2['data'] = 20181224
# dic[1]['data'] = dic[1]['data'] - 1
# dic[1]['data'] -= 1
# print(dic)
# 4,将name_list对应的jay全部变成大写。
# print(dic[1]['name_list'][1].upper())
# dic[1]['name_list'][1] = dic[1]['name_list'][1].upper()
# print(dic)
# 4,将name_list对应的 xx 删除。
# dic[1]['name_list'].pop(-1)
# dic[1]['name_list'].remove('xx')
# del dic[1]['name_list'][-1]
# 格式化输出 %s
# 第一种方式:
# msg = '我叫%s,今年%d,性别%s' % ('太白', 18, '男')
# 第二种方式: 通过字典的方式
# dic = {'name': '太白', 'sex': '男', 'age': 18}
# msg = '我叫%(name)s,今年%(age)s,性别%(sex)s' % dic
# print(msg)
# fromkeys()
# dic = {'name': 'alex'}
# dic = dict.fromkeys('abc', '春哥')
# dic = dict.fromkeys([1, 2, 3],'春哥')
# 坑:值如果是可变的数据类型,那么所有的值都是一个内存地址
# dic = dict.fromkeys([1, 2, 3], ['alex'])
# dic[1].append(666)
# print(dic)
05,集合(了解)。
day05_python_1124的更多相关文章
随机推荐
- bubbo调用Failed to invoke remote method异常解决
bubbo调用服务异常: com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote method: getPlanFlowInfo, pr ...
- Codeforces 1025 D - Recovering BST
D - Recovering BST 思路:区间dp dp[l][r][0]表示l到r之间的数字可以构成一个二叉搜索树,并且以r+1为根节点 dp[l][r][0]表示l到r之间的数字可以构成一个二叉 ...
- HDU 4812 D Tree
HDU 4812 思路: 点分治 先预处理好1e6 + 3以内到逆元 然后用map 映射以分治点为起点的链的值a 成他的下标 u 然后暴力跑出以分治点儿子为起点的链的值b,然后在map里查找inv[b ...
- Mac python Tesseract 验证码识别
Tesseract 简介 Tesseract(/'tesərækt/) 这个词的意思是"超立方体",指的是几何学里的四维标准方体,又称"正八胞体".不过这里要讲 ...
- 如何模拟一个http请求并把response的内容保存下载下来,导出到excel中(结尾福利)
def doExport(self): # 模拟一个http请求 url = u'%s?dumptype=investigation&dumpid=%s&timezone=8' % ( ...
- (转)winform之RichTextBox
RichTextBox是一种可用于显示.输入和操作格式文本,除了可以实现TextBox的所有功能,还能提供富文本的显示功能. 控件除具有TextBox 控件的所有功能外,还能设定文字颜色.字体和段落格 ...
- centos 7 安装TensorFlow
查看linux版本 uname -a 查看磁盘大小 准备好python 2.7 查看python版本 import sysprint sys.version print sys.version_in ...
- HG255D 刷机备忘
<该死的系统,就是不重启.这文章也没意义了> 1.前期固件准备:①软件:XXXXX.bin②openwrt固件:XXXX.bin(我用的是shcl版的,感觉还不错,你也可以刷其他版本的) ...
- HeadFirst Ruby 第七章总结 references
前言 这一章的内容关于 references,讲了当 Ruby 程序中可能会遇到关于 reference 与 object 之间概念混淆而导致的问题. 导言 本章从一个 astronomer 发现 s ...
- Python 编程快速上手 第十五章 保持时间,计划任务和启动程序
前言 这一章节的主要内容是: 处理时间类型的数据(使用python 的两个模块: time 和 datetime 来处理) 创建多个线程 (使用 threading 模块来创建多个线程) 进行多个进程 ...