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的更多相关文章
随机推荐
- Codeforces 920F - SUM and REPLACE
920F - SUM and REPLACE 思路1: 线段树(982 ms) 每个点最多更新6次 代码: #include<bits/stdc++.h> using namespace ...
- Fiddler 简单介绍
fiddler 也已经使用了几年了,前面做免登录时就是用了fiddler,为了抓取cookie等信息.但是一直没有对他进行整理出一篇文章来介绍其使用. Fiddler的基本介绍 Fiddler的官方网 ...
- 第 3 章 镜像 - 017 - RUN vs CMD vs ENTRYPOINT
RUN.CMD 和 ENTRYPOINT 这三个 Dockerfile 指令看上去很类似,很容易混淆. 简单的说: RUN 执行命令并创建新的镜像层,RUN 经常用于安装软件包. CMD 设置容器启动 ...
- Python 编程快速上手 第五章总结
第五章 字典和结构化数据 创建数组 格式:myCat = {'size':'fat','color':'gray',disposition':'loud'} 对字典的操作 通过[ ] 访问字典的值 [ ...
- spring cloud: Hystrix(一):简单使用
在微服务架构中,我们将系统拆分为很多个服务,各个服务之间通过注册与订阅的方式相互依赖,由于各个服务都是在各自的进程中运行,就有可能由于网络原因或者服务自身的问题导致调用故障或延迟,随着服务的积压,可能 ...
- 雷林鹏分享:使用 CSS 显示 XML
使用 CSS 显示 XML 通过使用 CSS(Cascading Style Sheets 层叠样式表),您可以添加显示信息到 XML 文档中. 使用 CSS 显示您的 XML? 使用 CSS 来格式 ...
- WCF利用Stream上传大文件
WCF利用Stream上传大文件 转自别人的文章,学习这个例子,基本上wcf也算入门了,接口用法.系统配置都有了 本文展示了在asp.net中利用wcf的stream方式传输大文件,解决了大文件上传问 ...
- proc-virtual-file-system
内核代码中分别找出一处 proc 和 seq_file 的完整使用过程,记录下来 在用户空间进行相应"读"."写" 介绍 Proc 虚拟文件系统 操作 proc ...
- Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ..... this is incompatible with sql_mode=only_full_group_by
一.异常信息 org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: com.mysq ...
- Android开源框架源码分析:Okhttp
一 请求与响应流程 1.1 请求的封装 1.2 请求的发送 1.3 请求的调度 二 拦截器 2.1 RetryAndFollowUpInterceptor 2.2 BridgeInterceptor ...