python基础04--list,cou,dict
1.1 列表list
1、列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串,列表,元组,集合,字典
2、列表是有序的, 可以索引,切片
3、List中的元素是可以改变的
4、list
len(list1) 长度
list1 + list2 多个列表链接
list1*3 列表重复
3 in list1 in判断元素是否在列表中
5、List操作:
增:
list1.append(值) 在列表最后增加值
list1.insert(下标,元素) 向指定位置插入元素
list1.extend(seq) 在列表末尾一次性追加另一个序列的多个值 seq可以是字符串,元组,集合,字典(取字典的key值)
删:
list1.pop(index) 移除元素,并返回该元素的值, 若没有传入元素,则默认为最后一个元素 列表被改变
list1.remove(元素) 移除列表中某个值的第一匹配项 列表被改变 没有返回值
list1.clear() 清空列表
del list1 删除列表
del list1[2:1] 切片去删除列表元素
改:
list1[index] = 新元素
list1[0:2] = 新元素 把对应切片元素去掉后,换成新元素最小的多个值
查:
list1[index]
for 循环
公共方法:
len(list1) 返回列表的元素个数
list1.count(元素) 返回元素在列表中的个数
list1.index() 返回元素索引,找不到报错
max(list1) 返回列表元素最大值
min(list1) 返回列表元素最小值
list(seq) 转换 seq可以是字符串,元组,集合,字典(取字典的key值)
排序:
list1.sort() 对列表正向排序 列表被改变 元素一定要相同类型
list1.sort(reverse = True) 对列表反向排序
list1.reverse() 反转列表中的元素 列表被改变
list.copy() 复制列表。浅复制。列表中有内嵌列表时,改变内部列表,copy的列表也会改变
列表的嵌套: 列表中元素的类型可以不相同,它支持数字,字符串,列表,元组,集合,字典
li= [1][1] 深层查找
1.2 元祖 couple 只读列表,可循环查询,可索引切片
1、儿子不能改,孙子可能可以改
2、tup1=()#空元组 tup2=(20,)# 一个元素,需要在元素后添加逗号
3、元组可以使用+链接多个元组
4、列表转化为字符串
s.join(可迭代对象) 用s链接可迭代对象中的每一个元素,返回字符串
例子: str = “women”
“++”.join(str) 返回 w++o++m++e++n
5、元祖操作:
del tou1 删除整个元祖
len(tou1) 返回元祖元素个数
max(tou1) 元组中最大值
min(tou1) 元组中最小值
touple(seq) 转换 seq seq可以是字符串,元组,集合,字典(取字典的key值) 不改变原来的对象
1.3 字典 dict
1、dict key 必须是不可变数据类型,
value 任意数据类型, 可以是任何python对象
dict 优点:二分查找去查询
存储大量的关系型数据
特点:3.6以上是 有序的(按照增加的顺序排列)
2、创建空字典使用 { }
3、dict操作
增:
dic1[key] = value 没有对应的键值对,添加
dic1[key] = value 有对应的键值对,修改
dic1.setdefault(key,value) 有对应的键值对,不修改,没有才添加
value未传值默认为 None
删:
dic1.pop(key) 有返回值,按key来删除。 如果key没有,默认会报错。
dic1.pop(key,”自定义”) 如果设置可以返回设置值
dic1.popitem() 删除最后一个, 返回元祖,值为删除的键值
dic1.clear() 清空字典
del dic1[key] 删除键值对, 没有会报错
改:
dic1[key] = value 有对应的键值对,修改
dic1.update(dic2) 把dic2中的key/value 覆盖添加到dic1中
(如果dic2中和dic1中有相同的 key,则用dic2覆盖dic1)
查:
dic1[key] 返回对应key的值,没有key报错
dic1.get(key) 返回对应key的值,没有key不报错 优先使用
dic1.get(key,”自定义”) 如果设置可以返回设置值
dic1.keys() 以列表返回所有的key
dic1.values() 以列表返回所有的value
dic1.items() 返回一个列表 ,列表中为 一个个(key,value) 元组
for i in dic1:print(i) 打印keys
for i in dic1.values():print(i) 打印values
for k,v in dic1.items():print(i) 打印 key value 对
key in dict 判断key是否在字典中
dic1.clear() 清空字典
len(dic1) 计算字典中key总数
dict.fromkeys(seq,value) 以seq中的元素作为key,value为对应的初始值(没有则为none) seq可以是字符串,元组,集合,字典(取字典的key值),不影响原dict
4、嵌套
dic1[key]
python基础04--list,cou,dict的更多相关文章
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- python基础===将json转换为dict的办法
首先json是字符串. 大家都知道,字符串是用来传递信息的.json字符串实际上就是一种规定了格式的字符串, 通过这种格式,我们可以在不同的编程语言之间互相传递信息,比如我们可以把javascript ...
- python基础学习 str,list,dict,set,range,enumerate
一.字符串 s = 'python' s1 = 'python' + 'learn' #相加其实就是简单拼接 s2 = 'python' * 5 #相乘其实就是复制自己多少次,再拼接在一起 字符串切片 ...
- python 基础使用list、dict、set、可变与不可变对象
参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017104324028448 dict是字典,可以储存键值对类型的值,set与dict ...
- 0617 python 基础04
控制流--for 循环 >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 换行输出 >>> for i in range(1 ...
- python学习笔记(二)python基础知识(list,tuple,dict,set)
1. list\tuple\dict\set d={} l=[] t=() s=set() print(type(l)) print(type(d)) print(type(t)) print(typ ...
- Python基础之 一 字典(dict)
字典:是一种key - value的数据类型.语法:info = { key:value }特性:无序,key必须唯一(所以天生去重) 方法如下:del dict[key]:删除字典指定键len(di ...
- python基础知识三 字典-dict + 菜中菜
3.7字典:dict+菜中菜 1.简介 无序,可修改,用于存储数据,大量,比列表快,将数据和数据之间关联 定义:dict1 = {'cx':10,'liwenhu':80,'zhangyu': ...
- python基础:zip和dict详解
一.zip函数:接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表. 1.示例1: x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zi ...
- Python基础笔记:使用dict和set
dict 就和 C语言中的 map 的作用一样.查找非常快,以空间换时间! dict的使用: >>> d={'Mike':66,'Bob':77,'John':88} #定义一个di ...
随机推荐
- 目标检测论文解读3——Fast R-CNN
背景 deep ConvNet兴起,VGG16应用在图像分类任务上表现良好,本文用VGG16来解决检测任务.SPP NET存在CNN层不能fine tuning的缺点,且之前的方法训练都是分为多个阶段 ...
- python 验证码识别示例(五) 简单验证码识别
今天介绍一个简单验证的识别. 主要是标准的格式,没有扭曲和变现.就用 pytesseract 去识别一下. 验证码地址:http://wscx.gjxfj.gov.cn/zfp/webroot/xfs ...
- gradle应用
官网下载 http://services.gradle.org/distributions/ 解压并配置环境 1.解压gradle到你想要的目录 2.配置环境变量 GRADLE_HOME=D:\gra ...
- 监控进程cpu meminfo
https://github.com/cdrandin/cpsc_351 https://github.com/cdrandin?after=Y3Vyc29yOnYyOpK5MjAxNC0wNy0xM ...
- application platform as a service (aPaaS)
Application platform as a service (aPaaS) is a cloud service that provides environments for the deve ...
- 移动端touch与click区别--移动端开发整理笔记(五)
移动端用touch还是click? 在移动端开发中,click事件有300ms的延时,由来源于iphone处理双击缩放功能种下的坑.因为用手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器 ...
- 使用uwsgi部署项目?
方式1: 这种方式虽然比较方便,但是启动操作比较繁琐,每次都不能关闭窗口 安装uwsgi:pip3 install uwsgi 上传项目,部署web app 创建数据库,同步数据 运行django项目 ...
- Flask 中的 request 之 先知道有这么个东西
每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前后端的交互 基于HTML + Flask 写一 ...
- nginx缓存静态资源,只需几个配置提升10倍页面加载速度
nginx缓存静态资源,只需几个配置提升10倍页面加载速度 首先我们看图说话 这是在没有缓存的情况下,这个页面发送了很多静态资源的请求: 1.png 可以看到,静态资源占用了整个页面加载用时的90 ...
- 代码同时支持.NET Framework和.NET Core
代码同时支持.NET Framework和.NET Core .NetCore技术研究-一套代码同时支持.NET Framework和.NET Core 在.NET Core的迁移过程中,我们将原 ...