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 列表、字典、元组等增删改查相关推荐

  1. VC6.0 MFC 列表框 列表控件 添加 修改 删除

    VC6.0 MFC 列表框 列表控件 添加 修改 删除 写在前面:列表框是很常用,并且很重要的一个控件,那么接下来,就跟随我的脚步,去探索它的奥秘吧! 一.未卜先知 1.编译运行后,点击"学 ...

  2. python 列表嵌套字典 添加修改删除_python3--字典,字典的嵌套,概念:分别赋值

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...

  3. Hibernate修改操作 删除操作 查询操作 增加操作 增删改查 Hibernate增删查改语句...

    我用的数据库是MySQL,实体类叫User public class User {private Integer uid;private String username;private String ...

  4. python操作mysql数据库(增、删、改、查)_python对 MySQL 数据库进行增删改查的脚本...

    # -*- coding: utf-8 -*- import pymysql import xlrd # import codecs #连接数据库 conn = pymysql.connect(hos ...

  5. vue修改数据连接数据库_vue实现数据的增删改查

    在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...

  6. java定时任务增删改查_python实现crontab定时任务的增删改查

    python实现crontab定时任务的增删改查 python实现crontab定时任务的增删改查 本人主要业务方向是后台,在开发不同版本迭代或者项目的部署时,每次都手动去创建cron定时任务,很不符 ...

  7. mysql如何修改学生表_MySQL 详细单表增删改查crud语句

    MySQL 增删改查语句 1.创建练习表 这里练习表没有满足三范式 第一范式(又称 1NF):保证每列的原子性 数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性.满足第一范 ...

  8. mysql 原生 添加数据_手撸Mysql原生语句--增删改查

    mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...

  9. python 列表嵌套字典 添加修改删除_【Python】列表嵌套字典修改字典里面的一个值却把全部的值都修改了。...

    具体问题就是:当我往空列表里面添加字典,需要修改其中的一个键的值的时候,出现把其他同类的值也修改了. 下面就是出现问题的代码: aliens = [] new_alien = {"color ...

最新文章

  1. 电脑键盘数字键失灵_C4D/3dmax/MaYa三维设计——高档机械键盘推荐·红轴(200元左右预算)...
  2. C#操作Word完全功略!
  3. (十二)java版电子商务spring cloud分布式微服务- Spring 4.2.2以上版本和swagger集成方案和踩过的坑...
  4. Happens-Before的7个规则
  5. java传入数据库生成柱状图_Java读取数据库数据生成柱状图
  6. [vue] 写出你知道的表单修饰符和事件修饰符
  7. mysql索引技术_MySQL索引类型
  8. html自动跳转手机端,用JavaScript实现网站自动跳转电脑PC端与手机端不同页面
  9. Ubuntu16.04下完美切换Python版本
  10. MOE 分子动力学模拟操作
  11. 机器学习数学基础(1)-回归、梯度下降
  12. 寻找两个有序数组最小相同元素---JavaScript--解决方法
  13. 什么是erp管理系统
  14. log4j2配置日志默认最大个数,以及自动删除过期日志文件的配置
  15. 计算机考试记事本创建文件,你可能永远不知道的记事本功能
  16. STM32开发笔记108:将STM32CubeIDE设置为中文
  17. 工艺角,PVT, TT,SS,FF,FS,SF
  18. 定时任务实现的几种方式
  19. python 可以用excel做词云图嘛_word_cloud-用Python之作个性化词云图
  20. Hyperledger Fabric共识机制

热门文章

  1. 输入10个学生5门课的成绩,分别用函数实现下列功能
  2. 社保查询或者转移的一些事
  3. 解决string not in pwd
  4. node js 写按键精灵_带有按键的Node.js Raw模式
  5. Unity3D研究院之两种方式播放游戏视频
  6. llt自发光_“贝爷”联名款海系列新品得物独家首发,呼吁年轻人保护海洋环境...
  7. Python技能树及Markdown编辑器的测评
  8. Binder之AIDL进程间通信的使用(附源码)
  9. c++ 对象模型 7
  10. 网康防火墙--上线指南_在线付款接受指南-第2部分