设为首页 收藏本站
查看: 1999|回复: 0

[经验分享] python之列表、元组、字典

[复制链接]

尚未签到

发表于 2018-8-6 13:18:11 | 显示全部楼层 |阅读模式
一 :列表
1描述
  打了激素的数组
  数组是只能存储同一数据类型的结构
  列表:可以存储多数数据类型的数组
2 定义列表:
DSC0000.jpg

  元组和列表的不同:元组是不可变对象而列表是可变对象
DSC0001.jpg

3 列表的特性:
1 索引
  分为前向索引、反向索引和多重索引
DSC0002.jpg

2 切片
  包含一般切片和逆序显示
  一般切片
DSC0003.jpg

3 逆序显示
DSC0004.jpg

4 重复、连续
  重复
DSC0005.jpg

  连续
DSC0006.jpg

5 成员操作符
  in 和 not  in
DSC0007.jpg

6   列表的增删改查
  增
  A append  在列表的结尾追加元素
DSC0008.jpg

DSC0009.jpg

DSC00010.jpg

  B insert 追加元素到指定位置
DSC00011.jpg

DSC00012.jpg

DSC00013.jpg

  C extend 追加可迭代对象到列表结尾
DSC00014.jpg

DSC00015.jpg

DSC00016.jpg

DSC00017.jpg

  改
  通过索引,对列表某个索引值进行修改
DSC00018.jpg

  查
  查看列表中某元素出现的次数  count
DSC00019.jpg

  查看某元素第一次出现的位置
DSC00020.jpg

  删
  删除列表中的指定元素,只删除第一次出现的元素
DSC00021.jpg

  删除列表中指定索引的值
DSC00022.jpg

  删除列表对象,可以在del 后面加上切片
DSC00023.jpg

7 排序和反转
  1.sort()
DSC00024.jpg

  反转
DSC00025.jpg

8列表元素弹出返回:
  pop()默认弹出最后一个元素,可以指定要弹出元素的索引
DSC00026.jpg

DSC00027.jpg

DSC00028.jpg

9 列表支持python内置的方法
  1 cmp (x,y) 比较x,y大小x,y可以是列表,比较方式是ASCII 码,获取ASCII码的方式
DSC00029.jpg

  2 max
  比较列表中元素的大小,并输出大的,也是根据ASCII码而定
  3 min
  比较列表中元素的大小,并输入小的,同上
  4 list
  将其他类型的数据结构转换为列表类型的数据结构
4 列表应用:
1 用于测试用户是否注册
  #!/usr/bin/env python
  #coding:utf-8
  a=0
  l1=['root','admin','student']  # 指定用户集合
  l2=['root','admin','student']  #指定用户对应密码集合
  while a\<3:
  name=raw_input(&quot;请输入用户名:&quot;)
  if not name in l1:
  print &quot;该用户未注册&quot;
  break
  password=raw_input(&quot;请输入密码:&quot;)
  index=l1.index(name)
  if  password==l2[index]:
  print &quot;登录成功&quot;
  break
  print &quot;ok&quot;
  else:
  print &quot;登录失败,该密码输入有误&quot;
  a+=1
  else:
  print &quot;登录超过三次&quot;
2 列表构建栈和队列数据结构
  1 栈是先进后出(LIFO)
  2 列表是先进先出(FIFO)
  栈相关的练习题
  [root@localhost ~]# cat aaa.py
  #!/usr/bin/env python
  #coding:utf-8
  l1=[]
  while True:
  print '''
  1>选择 1 在栈中插入数据
  2>选择 2查看栈中的数据
  3>选择 3 删除栈中的数据
  4>选择'q'或'quit'为退出循环
  '''
  a=raw_input(&quot;请选择进行的操作:&quot;)
  if a=='1':
  b=raw_input(&quot;插入的数据:&quot;)
  l1.append(b)
  print &quot;插入数据成功&quot;
  elif a=='2':
  print l1
  elif a=='3':
  l1.pop()
  elif a=='q'  or  a=='quit':
  exit()
  队列相关练习
  #!/usr/bin/env python
  #coding:utf-8
  l1=[]
  while True:
  print '''
  1> 在队列中插入数据
  2> 查看队列中的数据
  3> 删除队列中的数据
  4> 选择'q'或'quit'为退出循环
  '''
  a=raw_input(&quot;请选择进行的操作:&quot;)
  if a=='1':
  b=raw_input(&quot;插入的数据:&quot;)
  l1.append(b)
  print &quot;插入数据成功&quot;
  continue
  elif a=='2':
  print l1
  elif a=='3':
  del l1[0]
  print &quot;弹出数据成功&quot;
  if len(l1)==0:
  print &quot;已无数据可以弹出&quot;
  elif a=='q'  or  a=='quit':
  exit()
二  字典(关联数组、散列表)
1 字典创建
1 赋值创建字典
DSC00030.jpg

2 通过工厂函数创建字典
DSC00031.jpg

DSC00032.jpg

DSC00033.jpg

3 通过字典的fromkeys 方法创建字典,所有元素有一个默认值
DSC00034.jpg

DSC00035.jpg

DSC00036.jpg

2   分析字典的特性
  字典不能索引和切片,因为字典是无序的数据类型
  字典不支持重复和链接
  字典支持成员操作符: 判断字典的key值是否存在于字典中
DSC00037.jpg

3   字典的增删改查:
1 增:
DSC00038.jpg

  update的方式实现添加,若不存在,则添加,若存在key,则覆盖
http://i2.51cto.com/images/blog/201801/01/0d7c041fe9ed6f13771264bbde425025.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=">

DSC00039.jpg

DSC00040.jpg

  setdefault 实现添加,若key存在,则不覆盖,否则,添加
DSC00041.jpg

2 改
DSC00042.jpg

3 查
  查看其key键值
DSC00043.jpg

  查看其vlaues值
DSC00044.jpg

  输出生成器
DSC00045.jpg

  查看key值并取名
DSC00046.jpg

  查看values值并取其名
DSC00047.jpg

  查看字典并以元组的形式呈现,可用于对字典的遍历
DSC00048.jpg

DSC00049.jpg

DSC00050.jpg

4 删
  字典的弹出 pop  指定key值进行对values弹出
DSC00051.jpg

  随意弹出键值对
DSC00052.jpg

  清空d1
DSC00053.jpg

  根据键删除指定的值  del
DSC00054.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-547685-1-1.html 上篇帖子: Debian修改默认Python-Lakyy 下篇帖子: python之模块和包
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表