列表-list-[]

输入内存储存容器 发生改变通常直接变化,让我们看看下面列子

增---默认在最后添加

  1. #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典
  2. #lst=[,,,'afdsf',]
  3. #1print(lst.append())#---none--没有返回值 所以none
  4. #
  5. '''lst=lst.append(233)
  6. print(lst)'''#---none---没有返回值 所以none
  7.  
  8. #lst.append()#---int
  9. #print(lst)#--true
  10.  
  11. #----另类的+在列表我们指定位置
  12. # lst.insert(,)#在列表索引为2 位置添加1,那么原本lst中索引为2的数据且它后面数据就得依次往后排
  13. # print(lst)
  14.  
  15. # lst.append('eva')#---str
  16. # print(lst)
  17.  
  18. # tu1 = ('a', 'b',, )
  19. # lst.append(tu1)
  20. # print(lst)#----[, , , 'afdsf', , ('a', 'b', , )]
  21.  
  22. # set = ('a', 'b',, )
  23. # lst.append(set)
  24. # print(lst)
  25. #
  26. #
  27. # dct = {'a':'b','c':}
  28. # lst.append(dct)
  29. # print(lst)
  30. #--从底层结构来看,列表变化都是在操作增删改时 直接放生变化,不会生成返回值
  31. #好比我同时打开下面两个操作
  32. # set = ('a', 'b',, )
  33. #dct = {'a':'b','c':}
  34. # lst.append(set)
  35. #
  36. # lst.append(dct)
  37. # print(lst)
  38. #根据python解释器 从上至下特点 结果如下
  39. #[, , , 'afdsf', , ('a', 'b', , ), {'a': 'b', 'c': }]

删---仅pop有返回值---

  1. #删 pop---()中什么不写 默认删除最后一个
  2. #lst=[,,,'afdsf',]
  3. # ret=lst.pop()#只有索引删,且有返回值,别的没有返回值 】,也就是说直接在【本身】上打印,或者赋值给某一(变量再打印),都是--none
  4. # print(lst,ret)
  5.  
  6. # clear 清空列表
  7. # lst.clear()
  8. # print(lst)
  9.  
  10. #del--del lst[列表索引]-----del 和lst 中间什么符号也不需要--死规定
  11. #按照索引删除该元素
  12. # del lst[]
  13. # print(lst)#---[, , 'afdsf', ]
  14.  
  15. #按照切片删除该元素--顾头不顾尾
  16. # del lst[:]
  17. # print(lst)#----[, 'afdsf', ]
  18.  
  19. #按照步长删除该元素-
  20. # del lst[::]
  21. # print(lst)#---[, 'afdsf']
  22.  
  23. #也可以直接删除列表,但一般不会这么用
  24. # del lst
  25. # print(lst)#---NameError: name 'lst' is not defined

#改

  1. #改
  2. # 按照索引改值
  3. # l = ['a','jiazeng','','xiaohei']
  4. # l[] = '男神'
  5. #print(l) # ['男神', 'jiazeng', '', 'xiaohei']
  6.  
  7. #l[]=l[].upper()
  8. #print(l)#---['A','jiazeng','','xiaohei']
  9.  
  10. #
  11.  
  12. # 按照切片改值(迭代着增加)
  13. # l = ['a', 'jiazeng', '', 'xiaohei']
  14. # tup1=(,,'sa','sha',[,,],{'a':,'b':})
  15. # dic={'a':,'b':}
  16. # l[:] = 'abcdefg'#---必须是可迭代数据类型str--就是拆散开放入,字典就是把键迭代添加,其它就是打开括号---注意 数字 bool是不可迭代数据类型
  17. # print(l) # ['a', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'xiaohei']
  18.  
  19. # 按照切片(步长)改值(必须一一对应)
  20. # l = ['a', 'jiazeng', '', 'xiaohei']
  21. # dic={'a':,'b':}
  22. # lst=[,]
  23. # l[::] = '帅傻'#对需要对改的位置一一对应 多一个不行少一个也不行
  24. # print(l) #['帅', 'jiazeng', '傻', 'xiaohei']

  1. #通过索引查
  2. # l = ['a', 'jiazeng', '', 'xiaohei']
  3. # print(l[])
  4. # #通过步长
  5. # print(l[::])
  6. # #通过切片
  7. # print(l[:])
  8. # #也可以通过for 循环或者推导式
  9. # print([i for i in l if i.isdigit() ])

列表其它操作

  1. count(数)(方法统计某个元素在列表中出现的次数)。
  2. a = ["q","w","q","r","t","y"]
  3. print(a.count("q"))
  4.  
  5. sort (方法用于在原位置对列表进行排序)。
  6.  
  7. reverse (方法将列表中的元素反向存放)
  8. a = [,,,,]
  9. a.sort()# 他没有返回值,所以只能打印a
  10. print(a)
  11. a.reverse()#他也没有返回值,所以只能打印a
  12. print(a)
  13.  
  14. 列表也可以相加与整数相乘
  15. l1 = [, , ]
  16. l2 = [, , ]
  17. # print(l1+l2) # [, , , , , ]
  18. print(l1*) # [, , , , , , , , ]

列表小练习

  1. '''l1 = [1, 2, 'bai', [1, 'al', 3,]]
  2. # , 将l1中的'bai'变成大写并放回原处。
  3. # ,给小列表[,'al',,]追加一个元素,'亲亲'。
  4. # ,将列表中的'al'通过字符串拼接的方式在列表中变成'als'
  5. l1[]=l1[].upper()#用到索引找我们想要的内容时一定要注意 索引到那个是什么数据类型,
  6. # 如果是字符串,你需要先炒作你想改的某样,再把他赋值或者说覆盖掉原先索引位置上
  7. print(l1)
  8.  
  9. l1[-].append('亲亲')
  10. print(l1)
  11.  
  12. l1[-][]=l1[-][]+'s'
  13. print(l1)'''

字典--dict---{}

概念

  1. '''不可变(可哈希)的数据类型:int,str,bool,tuple。
  2.  
  3. 可变(不可哈希)的数据类型:list,dict,set。
  4.  
  5. 字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的:
  6.  
  7. Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的。
  8.  
  9. Value:任意数据(int,str,bool,tuple,list,dict,set),包括后面要学的实例对象等。
  10.  
  11.  在Python3.5版本(包括此版本)之前,字典是无序的。
  12.  
  13.  在Python3.6版本之后,字典会按照初建字典时的顺序排列(即第一次插入数据的顺序排序)。
  14.  
  15.  当然,字典也有缺点:他的缺点就是内存消耗巨大。'''

  1. # 通过键值对直接增加
  2. # ---注意没有返回值 所以不可以print(dic['weight'] = )
  3. '''dic = {'name': 'jiazeng', 'age': 18}
  4. dic['weight'] = # 没有weight这个键,就增加键值对
  5. print(dic) # {'name': 'jiazeng', 'age': , 'weight': }
  6. dic['name'] = 'self_brother' # 有name这个键,就成了字典的改值
  7. print(dic) '''# {'name': 'self_brothe', 'age': 18, 'weight': 75}
  8.  
  9. # setdefault
  10. '''dic = {'name': 'jiazeng', 'age': 18}
  11. dic.setdefault('height',) # 没有height此键,则添加---注意格式:'',''
  12. print(dic) # {'name': jiazeng', 'age': 18, 'height': 175}
  13. dic.setdefault('name','barry') # 有此键则-原字典不变--什么变化没有
  14. print(dic) # {'name': jiazeng', 'age': 18, 'height': 175}
  15. #注意setdefault它有返回值
  16. dic = {'name': 'jiazeng', 'age': }
  17. ret = dic.setdefault('name')
  18. print(ret) # jiazeng
  19. print(dic.setdefault('name'))#---# jiazeng'''

  1. # pop
  2. # 通过key删除字典的键值对,有返回值,可设置返回值。----推荐应用程序首选pop
  3. dic = {'name': 'xiaohei', 'age': }
  4. #ret = dic.pop('name')#-直接输入健名就可以,返回是值
  5. # ret = dic.pop()---如果()中不写 还会报错---字典中pop() 中必须写键
  6. #print(ret,dic) # xiaohei {'age': }
  7. # ret1 = dic.pop('b','爱你')#----当没有这个键时 返回就是爱你,有这个键 返回还是所删除的键对应的值
  8. # print(ret1,dic) # 爱你 {'name': 'xiaohei', 'age': }
  9.  
  10. #popitem .5版本之前,popitem为随机删除,.6之后为删除最后一个,有返回值
  11. # dic = {'name': 'xiaohei', 'age': }
  12. # ret = dic.popitem()
  13. # print(type(ret),dic) # ('age', ) {'name': 'xiaohei'}----返回的是键值对所拼车的元祖形式
  14. #<class 'tuple'> {'name': 'xiaohei'}
  15. #
  16. # #clear 清空字典
  17. # dic = {'name': 'xiaohei', 'age': }
  18. # dic.clear()
  19. # print(dic) # {}
  20. #
  21. # # del
  22. # # 通过键删除键值对--注意没有返回值 所以不可print(del dic['name'])<<dic=del dic['name']--print(dic)>>
  23. #dic = {'name': 'xiaohei', 'age': }
  24. #print(del dic['name'])
  25.  
  26. # del dic['name']
  27. # print(dic) # {'age': }
  28. # #删除整个字典
  29. # del dic

  1. #改也可以说增
  2. # 通过键值对直接改
  3. # dic = {'name': '太白', 'age': }
  4. # dic['name'] = 'barry'
  5. # print(dic) # {'name': 'barry', 'age': }
  6.  
  7. # update
  8. #第一种写法---键='值'
  9. #有相同覆盖,无则在后添加
  10. # dic = {'name': 'jiazeng', 'age': }
  11. # #dic.update(sex='男', height=)
  12. # dic.update(name='男', age=)#----{'name': '男', 'age': }
  13. # print(dic) # {'name': 'jiazeng', 'age': , 'sex': '男', 'height': }
  14.  
  15. #第二种写法 如果我们想加入多个键值对 并且他们是列表中套有个个小元祖---
  16. #他们会在update 打开列表【】和元祖小括号 并将元祖中元素 按照 键,值划分 加入到字典中
  17. #有相同覆盖 无则从字典后添加
  18. # dic = {'name': 'jiazeng', 'age': }
  19. # # l1=[(, '购物车'),(, '登入系统'),(, '计算机'),(, '选课系统')]
  20. # # print(type(l1[]))
  21. # dic.update([(, '购物车'),(, '登入系统'),(, '计算机'),(, '选课系统')])
  22. # print(dic) # {'name': 'jiazeng', 'age': , : '购物车', : '登入系统', : '计算机', : '选课系统'}
  23.  
  24. #第三种 用字典方法去改,有相同键覆盖 无相同键添加键值对
  25. #被修改的.update(用你需要的)
  26. # dic1 = {"name":"jin","age":,"sex":"male"}
  27. # dic2 = {"name":"jiazeng","weight":}
  28. # dic1.update(dic2)
  29. # print(dic1) # {'name': 'jiazeng', 'age': , 'sex': 'male', 'weight': }
  30. # print(dic2) # {'name': 'alex', 'weight': }

  1. #通过键查询
  2. # 直接dic[key](没有此键会报错)
  3. # dic = {'name': 'xiaohei', 'age': }
  4. # print(dic['name']) # xiaohei
  5. #
  6. # # get--强烈推荐查用get 没有此键不会报错 还可以设置返回值
  7. # dic = {'name': 'xiaohei', 'age': }
  8. # v = dic.get('name')
  9. # print(v) # 'xiaohei'
  10. # #get--设置返回值
  11. # v = dic.get('name1')
  12. # print(v) # None
  13. # v = dic.get('name2','没有此键')
  14. # print(v) # 没有此键
  15. #
  16. # #查看字典中所有键---keys()--返回一个类似列表容器,并不改变原本数据结构
  17. # dic = {'name': 'xiaohei', 'age': }
  18. # print(dic.keys()) # dict_keys(['name', 'age'])
  19. # #查看字典中所有值---values()
  20. # dic = {'name': 'xiaohei', 'age': }
  21. # print(dic.values()) # dict_values(['xiaohei', ])
  22. # #查看字典中所有键值对---items()
  23. # dic = {'name': 'xiaohei', 'age': }
  24. # print(dic.items()) # dict_items([('name', 'xiaohei'), ('age', )])

还有集合 不过集合只有 增---删两大天王

  1. 集合set {}---我理解为变异是字典 只有键 没有值
  2. #只有增删两大天王
  3.  
  4. # set1 = set({,,'barry'})
  5. # set2 = {,,'barry'}
  6. # print(set1,set2) # {, , 'barry'} {, , 'barry'}
  7.  
  8. #增---无序增
  9. #set1 = {'alex','wusir','ritian','egon','barry'}
  10. # set1.add('景女神')
  11. # print(set1)
  12.  
  13. #update:迭代着增加--且无序
  14. # set1.update('A')
  15. # print(set1)
  16. # set1.update('老师')
  17. # print(set1)
  18. # set1.update([,,])
  19. # print(set1)
  20.  
  21. #集合删
  22. set1 = {'alex','wusir','ritian','egon','barry'}
  23.  
  24. # set1.remove('alex') # 删除一个元素
  25. # print(set1)
  26.  
  27. # set1.pop() # 随机删除一个元素
  28. # print(set1)
  29. #
  30. # set1.clear() # 清空集合
  31. # print(set1)
  32. #
  33. # del set1 # 删除集合
  34. # print(set1)

元祖更可怜 因为他是号称不动明王 所以只能查啦

  1. 元组tuple---元组:俗称不可变的列表,又被成为只读列表--基本数据类型之一
  2. #()括号括起来
  3. #里面可以放任何数据类型的数据,
  4. #查询可以,循环也可以,切片也可以.
  5. #但就是不能改-只剩下查天王,增删改天王都不是对手
  6.  
  7. #元组的索引切片
  8.  
  9. # tu1 = ('a', 'b', 'xioahei', , )
  10. # print(tu1[]) # 'a'
  11. # print(tu1[-]) #
  12. # print(tu1[:]) # ('b', 'xioahei')
  13. # print(tu1[:-]) # ('a', 'b', 'xioahei, 3)
  14. # print(tu1[::]) # ('a', 'xioahei', )
  15. # print(tu1[::-]) # (, , 'xioahei', 'b', 'a')
  16.  
  17. #因为元组的特性,直接从属于元组的元素不能更改,所以元组只能查看。
  18. # 可以利用for循环查询
  19. #index:通过元素找索引(可切片),找到第一个元素就返回,找不到该元素即报错
  20. # tu1 = ('a', 'b', 'xioahei', , )
  21. # print(tu1.index('xioahei'))#---- 实现某set一功能 是 · 操作

python基础中的四大天王-增-删-改-查的更多相关文章

  1. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  2. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  3. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  4. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  5. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  6. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  7. Django(十)模型:django模型类对数据库的:增/删/改/查、自关联、管理器、元选项(指定表名)

    一.插入.更新和删除 调用一个模型类对象的save方法的时候就可以实现对模型类对应数据表的插入和更新. 调用一个模型类对象的delete方法的时候就可以实现对模型类对应数据表数据的删除. 二.自关联 ...

  8. 【转】Android 增,删,改,查 通讯录中的联系人

    一.权限 操作通讯录必须在AndroidManifest.xml中先添加2个权限, <uses-permission android:name="android.permission. ...

  9. Android 增,删,改,查 通讯录中的联系人

    一.权限 操作通讯录必须在AndroidManifest.xml中先添加2个权限, <uses-permission android:name="android.permission. ...

随机推荐

  1. springboot+VUE(二)

    入element-ui cnpm install element-ui -S 执行后,会下载element-ui的包到本地,同时会将配置加入到package.json的依赖块中. 通过命令行可以将最新 ...

  2. Navicat操作SQL server 2008R2文件.bak文件还原

    项目操作过程中,利用Navicat操作SQL Server2008R2数据备份,结果发现数据丢失了很多,不得不先对数据丢失部分进行差异对比,然后再重新输入. 1.利用Navicat导出的数据格式为sq ...

  3. c博客作业01--顺序、分支结构

    1.本章学习总结 1.1思维导图 1.2本章的学习体会及代码量学习体会 1.2.1学习体会 本周学习的感受:原先基础是0的,所以本周学习起来并不是很轻松,有很多知识运用的 不是很熟,但是基本的知识是能 ...

  4. 关于std::thread

    std::thread基本用法 1.普通函数: std::thread thread(func, param, ...) 2.类成员函数: std::thread thread(&class_ ...

  5. java面试总结(资料来源网络)

    core java: 一.集合 1.hashMap 结构如图: HashMap在Map.Entry静态内部类实现中存储key-value对. HashMap使用哈希算法.在put和get方法中.它使用 ...

  6. php进阶--菜鸟之路

    希望有所帮助! 第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作) 目标:能够完成基本的LNMP系统安装,简单配置维护:能够做基本的简单系统的PHP开发:能够在P ...

  7. Django 命令

    django #安装: pip3 install django 添加环境变量 #1 创建project django-admin startproject mysite ---mysite ---se ...

  8. jvm 常用参数

    linux 查看 jvm参数配置命令 jinfo -flags pid(当前Java应用的pid)

  9. C# 字符串按 ASCII码 排序,注意其中的小坑

    https://www.cnblogs.com/similar/p/6739293.html 在和银行做数据对接时,涉及到数据传输时的验签及加密.其中数据签名方案中就要求数据项根据属性名按 ASCII ...

  10. node note

    1.关于next() next()函数接受一个Error对象,在判断错误时,返回这个next()函数,并传入自定义的Error对象可以被向下捕捉,你也可以自定义统一捕捉错误Error的中间件,在app ...