摘要

元组和列表

目的

  • 理解元组和列表数据类型

  • 掌握元组和列表的操作

内容

序列
  • 字符串、列表和元组都是序列
  • 序列两个特点:索引(序列中抓取特定项目)和切片(获取一部分序列)
  • 序列的常见操作
#len() 序列的长度
print(len('333'))
结果:3
# + 连接序列 * 重复次数 后面跟数值
print('a' + 'b')
结果:ab
print('#' * 20)
结果:####################
#in 判断字符串是否在序列中
print('d' in  'as')
结果:Flase
#max() min() 序列中最大值最小值
print(max('abcd1'))
结果:d
print(min('abcd1'))
结果:1
#cmp()  比较两个序列 相等返回0 小于返回-1 大于返回1
print(cmp('a','b'))
结果:-1
print(cmp('a','a'))
结果:0
print(cmp('b','a'))
结果:1

元组tuple
  • 元组和列表相似,元组和字符串是不可变的(是所存元素内存地址不变,并不是内容不变)
  • 函数返回值,输入值
  • 元组定义 () 单个元素定义 (1,)
    ('a',)
  • 元组操作
t = ('1','2','a','2')
print(dir(t))
#cuont(value) 返回元组里面value个数
print(t.count('1'))
结果:1
#index 返回元素下表值默认显示第一个,后面有参数 选择第几个
print(t.index('2',2))
结果:3

列表list
  • 可变的数据结构 用[] 定义,list是一种有序的集合,可以随时添加和删除其中的元素。
  • 创建空列表
    L = []
  • list 操作
#合并
A = ['1', 2]
B = ['a', 1]
print(A + B)
结果:['1', 2, 'a', 1]
# 取值
print(A[0])
结果:1
#添加
A.append('3')
print(A)
结果:['1', 2, '3']
#删除
A.remove('1')
print(A)
结果:[2, '3']
#插入
A.insert(1,'s')
print(A)
结果:[2, 's', '3']
#排序sort
A.sort()
print(A)
结果:[2, '3', 's']
#翻转
A.reverse()
print(A)
结果:['s', '3', 2]
#pop  删除并返回元素 默认最后一个
A.pop(1)
print(A)
结果:['s', 2]

  • 错误总结
直接print(A.append('3'))
结果:None
原因:修改原来的A的值,返回值为None,不生成新的list,老列表发送改变。

总结

  • 元组和列表数据类型的概念
  • 两种类型的操作方法
  • 理解元组不可变的概念

习题完成情况

list1 = ['XXXX', 'b', 3, 'c', '&', 'a', 3, '3', 3, 'aa', '3', 'XXXX']
list2 = ['e', 'f', 'g']
#要求对其做以下操作:
#1. 取出 ‘XXXX’ 中间的部分,形成一个新的列表list3
list3 = list1[1:-1]
#2. 对list3 做一下几部操作
#1)删除特殊符号
list3.remove('&')
#2)统计 3 在list3中出现的次数
print(list3.count(3))
#3)用最简短的代码去除list3中 26个字母以外的元素(要求只能对list3操作)
没找到好的方法,明天补
#4)对list3排序
list3.sort()
#5)在末尾追加'd',并把list2追加到list3
list3.append('3')
list3 = list3 + list2
#3. 现有两个变量
#a = ('h',)
#b = ('h')
#1)将a和b分别追加到上一题的list3中,观察有什么区别
list3.append(a)
list3.append(b)
2)将1生成的list3转换成元组(扩展:自己搜索方法)
tuple(list3))
3)打印出只有一个元素'h'的元组,在2中生成的元组中的索引
print(list3.index(('h',)))
posted on 2017-12-22 00:32  siaspedro  阅读(220)  评论(0编辑  收藏  举报