python 列表嵌套字典 添加修改删除_python 列表、字典、元组等增删改查
1. 元组
a. 定义和下标访问
元组的格式: (值,....) 如 s = (1,2,3)
元组的类型: tuple
元组的下标使用同字符串
注意:如果元组中只有一个元素,那么在定义时,需要加一个逗号 如:s = (4,)
b. 遍历
# for-in
t = (1,2,3,4,5,'hello')for v int:print(v)
# 循环配合下标方式 一
for i inrange(len(t)):print(t[i])
t= (1,2,'ho')for i inrange(len(t)):print(t[i])
输出:1
2ho
# 循环配合下标方式 二
i =0while i
i+= 1
c. 嵌套元组
嵌套元组遍历:
t= (1,2,('h','o'))for v int:if isinstance(v,tuple): #isinstance(obj,type)判断参数obj是否是type型数据变量
for v2 inv:print(v2)else:print(v)
输出:1
2h
o
d. 常用方法
功能同字符串
count() 用来统计元素个数
index() 查找元素的位置索引,如果不存在会报错
2. 列表
a. 定义和下标访问
定义格式:
变量名 = [值,....] a = [1,2,3]
变量名 = list(值) a = list('st') >>> print(a) >>> ['s','t']
如何将列表型字符串转变成列表??
c = '[1,2,3,4]'l=eval(c)print(l)>>>[1,2,3,4] 其中eval()函数中的参数为字符串(可以为表达式),其效果是将有效的python表达式求值并返回计算结果。
如:
x= 1
print(eval('x + 1'))>>> 2
下标:
0~len(列表名)-1
b. 遍历
同字符串或元组
c. 嵌套列表定义和遍历
isinstance(obj,type) -> bool
d. 排序和逆序
sort(reverse=False)
reverse()
c= [3,2,5]
c.sort()print(c)
[2,3,5] #升序
c.sort(reverse=True)print(c)
[5,3,2] #降序
c.reverse()print(c)
[2,3,5] #将列表定义的顺序颠倒#手写实现列表逆序方法
defreverse_list(cl):#定义一个空列表
ret_l =[]
i= len(cl) - 1
while i >=0:
ret_l.append(cl[i])#s += c
i -= 1
returnret_lprint(reverse_list(cl))
还有一个平时用的比较多的需求:
# 实现对列表中的字典元素自定义顺序排序
l = [{'name': 'tom', 'id': 3},{'name': 'tom', 'id': 4}]
l.sort(key=lambda d: d['id']) # 此处的d不固定,可以随便写,只是表示列表中的一个字典对象而已print(l) #根据id升序排列,#>>> [{'name': 'tom', 'id': 3}, {'name': 'tom', 'id': 4}]
l.sort(key=lambda d: d['id'], reverse=True)print(l) #根据id降序排序#>>> [{'name': 'tom', 'id': 4}, {'name': 'tom', 'id': 3}]
e. 常用方法
a = ['1','2']
增:
append() a.append('k') >>> ['1','2','k']
extend() a.extend(['d','k']} >> ['1','2','k','d','k']
insert() a.insert(1,'n') >> ['1','n',‘2’,'k','d','k']#如果指定下标超过元素正常范围,相当于追加
a.insert(14,'n') >> ['1','n',‘2’,'k','d','k','n']
修:
下标修改
查:
index()
count()in (掌握) print(2 in a ) >>>Truenot in删:
pop()#括号中index参数可以不写 默认删除最后一个 a.pop(index)
remove() #删除 指定对象,当有多个相同对象时,只删除 第一个 a.remove('2')
clear() # 清空但列表存在 a.clear() >>[]del # 全没了 del(a[1]) 或者是 del a[1]
注意:
#在使用列表时,不要在循环遍历时删除元素
a = ['1','2','3','4','5']for c ina:
a.remove(c)print(c)
['2','4']
3. 字典
a 定义(字典为可变类型)
字典定义格式
{key: value,....}
b 字典的元素的引用
a = {'c': 1, 'b': 2}
使用字典获取字典中的数据
格式:
①字典变量名[key] #理论,所有不可变的类型都可以做为key,
print(a['c']) #只要是可hash的的对象都 可以做为key#key一般情况下使用字符串类型的数据充当,#访问时,如果使用了不存在的key,会报错
②字典变量名.get(key) # 若不存在key对应的值,返回None,不会报错print(a.get('c'))
③a.setdefault('c') 可以查询键对应的值,同时还可以用来添加新的键值对,a.setdefault('d','name'),本方法只限于字典使用
④update()
有相同的键会直接替换成 update 的值,没有则新增键值对:>>> a = {1: 2, 2: 2}>>> b = {1: 1, 3: 3}>>>b.update(a)>>> printb
{1: 2, 2: 2, 3: 3}
c 遍历字典
四种遍历方式-看代码
d = {'one': '星期一', 'two': '星期二', 'three': '星期三','haha':'周末'}#默认情况 下,使用for-in遍历时,会将所有的key遍历出来
① for k ind:print(f'for-in:{k} --> {d[k]}')
输出:for-in:one --> 星期一
for-in:two --> 星期二
for-in:three --> 星期三
for-in:haha -->周末
②print(d.keys()) >>> dict_keys(['one','two','there','haha'])for k ind.keys():print(f'keys :{k} --> {d[k]}')
③ values() 方法for k ind.values():print(f'{k}')
④ items()for k, v ind.items():print(f'{k}--->{v}')
d. 字典增删改查
增:# 如果在赋值时,使用的key在字典中不存在,那么就是向字典中添加 数据 a['2'] = 'lihc'
改:# 如果在赋值 时,使用的key在字典中存在,那么就修改这个key所对应的值
# key 是不能修改的,字典中的key 具有唯一性。
查: print(d['a'])
print(d.get('a'))
删:同list 但没有remove这个功能 另外 字典还有一个d.popitem() # 删除最后一个键值对
e. 无序字典和有序字典
在 python3.5之前, dict 类型是无序的 ,key无序,-> 写入顺序和显示顺序不同
在 pyhton3.5之后,都是有序
4. 集合定义和引用
集合的特性:
集合定义像字典
存储数据像列表
重要特性:
集合中的数据不允许重复,且是无序的(如果是数字,会默认进行升序排序)
作用:
利用集合的特性来对数据进行去除重复数据
定义:
set(可遍历的对象)
s = set('sda')>>> {'a','d','s'} 变化中
s=set{} 定义一个空集合
访问:
注意: 集合是不支持下标访问的
4. set-list-tuple三者类型间转换
s = 'hello'l=list(s)print(set(l))print(set(s))print(str(l))print(''.join(set(l)))
5. 公共方法和内置函数
字符串、列表和元组均可以进行加和乘操作
字符串、列表和元组、字典均可以用in和not in 判断
python 列表嵌套字典 添加修改删除_python 列表、字典、元组等增删改查相关推荐
- VC6.0 MFC 列表框 列表控件 添加 修改 删除
VC6.0 MFC 列表框 列表控件 添加 修改 删除 写在前面:列表框是很常用,并且很重要的一个控件,那么接下来,就跟随我的脚步,去探索它的奥秘吧! 一.未卜先知 1.编译运行后,点击"学 ...
- python 列表嵌套字典 添加修改删除_python3--字典,字典的嵌套,概念:分别赋值
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...
- Hibernate修改操作 删除操作 查询操作 增加操作 增删改查 Hibernate增删查改语句...
我用的数据库是MySQL,实体类叫User public class User {private Integer uid;private String username;private String ...
- python操作mysql数据库(增、删、改、查)_python对 MySQL 数据库进行增删改查的脚本...
# -*- coding: utf-8 -*- import pymysql import xlrd # import codecs #连接数据库 conn = pymysql.connect(hos ...
- vue修改数据连接数据库_vue实现数据的增删改查
在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...
- java定时任务增删改查_python实现crontab定时任务的增删改查
python实现crontab定时任务的增删改查 python实现crontab定时任务的增删改查 本人主要业务方向是后台,在开发不同版本迭代或者项目的部署时,每次都手动去创建cron定时任务,很不符 ...
- mysql如何修改学生表_MySQL 详细单表增删改查crud语句
MySQL 增删改查语句 1.创建练习表 这里练习表没有满足三范式 第一范式(又称 1NF):保证每列的原子性 数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性.满足第一范 ...
- mysql 原生 添加数据_手撸Mysql原生语句--增删改查
mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...
- python 列表嵌套字典 添加修改删除_【Python】列表嵌套字典修改字典里面的一个值却把全部的值都修改了。...
具体问题就是:当我往空列表里面添加字典,需要修改其中的一个键的值的时候,出现把其他同类的值也修改了. 下面就是出现问题的代码: aliens = [] new_alien = {"color ...
最新文章
- 电脑键盘数字键失灵_C4D/3dmax/MaYa三维设计——高档机械键盘推荐·红轴(200元左右预算)...
- C#操作Word完全功略!
- (十二)java版电子商务spring cloud分布式微服务- Spring 4.2.2以上版本和swagger集成方案和踩过的坑...
- Happens-Before的7个规则
- java传入数据库生成柱状图_Java读取数据库数据生成柱状图
- [vue] 写出你知道的表单修饰符和事件修饰符
- mysql索引技术_MySQL索引类型
- html自动跳转手机端,用JavaScript实现网站自动跳转电脑PC端与手机端不同页面
- Ubuntu16.04下完美切换Python版本
- MOE 分子动力学模拟操作
- 机器学习数学基础(1)-回归、梯度下降
- 寻找两个有序数组最小相同元素---JavaScript--解决方法
- 什么是erp管理系统
- log4j2配置日志默认最大个数,以及自动删除过期日志文件的配置
- 计算机考试记事本创建文件,你可能永远不知道的记事本功能
- STM32开发笔记108:将STM32CubeIDE设置为中文
- 工艺角,PVT, TT,SS,FF,FS,SF
- 定时任务实现的几种方式
- python 可以用excel做词云图嘛_word_cloud-用Python之作个性化词云图
- Hyperledger Fabric共识机制
热门文章
- 输入10个学生5门课的成绩,分别用函数实现下列功能
- 社保查询或者转移的一些事
- 解决string not in pwd
- node js 写按键精灵_带有按键的Node.js Raw模式
- Unity3D研究院之两种方式播放游戏视频
- llt自发光_“贝爷”联名款海系列新品得物独家首发,呼吁年轻人保护海洋环境...
- Python技能树及Markdown编辑器的测评
- Binder之AIDL进程间通信的使用(附源码)
- c++ 对象模型 7
- 网康防火墙--上线指南_在线付款接受指南-第2部分