#2.1 序列概述
# edward = ['Edward Gumby', 42]
# john = ['John Smith', 50]
# databsae = [edward, john]
# print(databsae)
# print(type(databsae))
#2.2通用的序列操作
#2.2.1 索引(有例子)
# greeting = 'Hello'
# print(greeting[0])
#2.2.2 切片.
# tag = '<a herf="http://www.python.org">python web site</a>'
# print(tag[9: 30])
# print(tag[32: -4])
# 1.绝妙的简写
# a = '123456789'
# print(a[2: 6])
# print(a[2: 3])
# print(a[2: ])
# print(a[ :2])
# print(a[-2: ])
# print(a[ :-2])
# print(a[ : ])
#更大的步长
# print(a[0:10:2])
# print(a[3:6:3])
# print(a[8:3:-1])
# print(a[10:0:-2])
# print(a[0:10:-2])
# print(a[::-2])
# 2.2.3 序列相加
# print([1, 2, 3] + [4, 5, 6])
# print('Hello,' + 'world!')
#注意:不能拼接不同类型的序列
# 2.2.4 乘法
# print('python' * 5)
# print([42] * 10)
# None、空列表和初始化
#None 表示什么都没有
#空列表[]
#初始化[None]
# 2.2.5 成员资格 in
# print(1 in [1, 2, 3])
# print('H' in 'Hello,Python')
# len(返回元素的个数)、min(返回元素的最小值)、max(返回元素的最大值)
# number = [100, 34, 78]
# print(len(number))
# print(max(number))
# print(min(number))
#2.3 列表:Python 的主力
#2.3.1 函数list
# print(list('123456'))
#2.3.2 基本列表操作
# 修改列表
# x = [1, 2, 3]
# x[1] = 20
# print(x)
# 删除元素
# del x[1]
# print(x)
# 给切片赋值
# name = list('Perl')
# print(name)
# name[1:] = 'ython'
# 2.3.3 列表方法
#1、append 在列表后面添加一个元组
# name.append(234)
# print(name)
#2.clrear 清空列表
# lst = [1, 2, 3]
# lst.clear() #类似切片复制 lst[:] = []
# print(lst)
#3 copy
# a1 = [1, 2, 3]
# a2 = [1, 2, 3]
# b1 = a1
# b2 = a2.copy()
# b1[1] = 4
# b2[1] = 4
# print(a1)
# print(a2)
# = 把值复制过去,还会有关联, copy() 只是把值复制过去
# 4 计算指定元素在列表出现的次数
# print([1, 2, 3, 4, 1, 1].count(1))
# 5 extend 讲一个数组添加到另外一个数组的后面, 并且返回数组
# a = [1, 2, 3]
# a.extend([4, 5, 6])
# print(a)
# extend 数据添加到第一个数组中 + 返回两个数组相加的结果
# 6 index 查找第一次索引出现的位置
# print([1, 2, 3, 1].index(1))
#不存在的时候 会报错
#7 insert 将 一个对象插入列表中
# numbers = [1, 2, 3, 4, 5, 6, 7]
# numbers.insert(3, 'four') # numbers[3: 3] = ['four']
# print(numbers)
# insert 的可读性 比 切片更高
# #8 pop 从列表中删除一个元素(并且返回这个元素)
# x = [1, 2, 3]
# print(x.pop())
# print(x)
# # pop 是唯一既修改列表又返回一个非None 值得列表方法
# # 9.remove 删除第一个指定的元素
# x = ['to', 'be', 'or', 'not', 'to', 'be']
# x.remove('be')
# print(x)
# 10 reverse 按相反的顺序排列 列表的元素
# x.reverse()
# print(x)
# 11 sort 对列表的顺序进行排序
# x = [5, 4, 3, 7, 1, 8]
# x.sort()
# print(x)
# 12 高级排序
# x1 = ['123', '12', '12345', '1']
# x1.sort(key=len) # 按照长度进行排序
# print(x1)
# x.sort(reverse=True)
# print(x)
#2.4 元组 不可修改(1, 2, 3)
# print(tuple([1, 2, 3]))
# print(tuple('abc'))
'''
len(seq) 返回序列的长度
list(seq) 将序列转换为列表
max(args) 返回序列或一组参数中的最大值
min(args) 返回序列和一组参数中的最小值
reversed(seq) 让你能够反向迭代序列
sorted(seq) 返回一个有序列表,其中包含指定序列中的所有元素
tuple(seq) 将序列转换为元组
'''