ycvodzf 发表于 2018-8-6 13:18:11

python之列表、元组、字典

一 :列表
1描述
  打了激素的数组
  数组是只能存储同一数据类型的结构
  列表:可以存储多数数据类型的数组
2 定义列表:

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

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

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

3 逆序显示

4 重复、连续
  重复

  连续

5 成员操作符
  in 和 notin

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



  B insert 追加元素到指定位置



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




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

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

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

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

  删除列表中指定索引的值

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

7 排序和反转
  1.sort()

  反转

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



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

  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)
  ifpassword==l2:
  print &quot;登录成功&quot;
  break
  print &quot;ok&quot;
  else:
  print &quot;登录失败,该密码输入有误&quot;
  a+=1
  else:
  print &quot;登录超过三次&quot;
2 列表构建栈和队列数据结构
  1 栈是先进后出(LIFO)
  2 列表是先进先出(FIFO)
  栈相关的练习题
  # 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'ora=='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
  print &quot;弹出数据成功&quot;
  if len(l1)==0:
  print &quot;已无数据可以弹出&quot;
  elif a=='q'ora=='quit':
  exit()
二字典(关联数组、散列表)
1 字典创建
1 赋值创建字典

2 通过工厂函数创建字典



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



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

3   字典的增删改查:
1 增:

  update的方式实现添加,若不存在,则添加,若存在key,则覆盖
http://blog.51cto.com/11233559/<br/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=">


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

2 改

3 查
  查看其key键值

  查看其vlaues值

  输出生成器

  查看key值并取名

  查看values值并取其名

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



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

  随意弹出键值对

  清空d1

  根据键删除指定的值del
页: [1]
查看完整版本: python之列表、元组、字典