序列: 容器, 存储数据,里面的元素有顺序
类表, 元组, 字符串, 字典, 集合
对数据进行操作: 增删改查
列表 : 容器   # 列表符号[]
关键字 list
符号  []
定义列表 [元素1,元素2,元素3....]
列表中可以存储任何数据类元素
type() 查看符号属性
格式 :
      [元素1,元素2,....]  用逗号隔开
 增加数据
  append 方法 在列表末尾添加数据
  insert   在指定位置添加元素
  extend   合并两个列表
 删除数据
  pop()  方法 : 从列表末尾删除一个数据  删除后可以恢复
  remove()  方法:删除列表中的指定内容   删除后找不会
  del lise_01   删除指定下标的元素
  sort 方法从小到大排序
  reverse 从大到小排序
列如:
# reverse()   将列表的元素进行反序(倒过来)
list1 = [123,56,64,8646,5]
print(list1)
list1.reverse()  # ---> list[::-1] 两者等价
print(list1)
# sort() 升序  从小到大
# list1.sort()
# print(list1)
# reverse 参数
# list1.sort(reverse=False)  # 括号里面的是默认值
list1.sort(reverse=True)   # 从大到小排序
print(list1)
  查询数据
  index("元素)查询指定元素在列表中的下标  如果元素不存在就会报错
  关于for循环
     第一种 : for 变量名 in 容器
     第二种 : for i in range
  修改数据: print("="*20,"修改数据","="20)
  nums[0] = 88
  print(nume)
知识点:
    1列表中的存储数据类型没有限制
for 循环
两种写法
     1,for 变量名 in 序列:   遍历序列,将序列中的元素全部取出了
           代码块
     2, for i in range():
         代码块
      range(起始值,结束值,步长) 函数 ,里面可以填入三个值,必须要有一个值,结束值
      起始值默认从0开始,步长不写默认为1
 while循环和for循环的区别
 while循环通常是不确定循环的次数的时候使用
 for循环通常是知道会执行但是次的时候使用
列如:
# for循环实现奇数偶数的判断(1-10)
for i in range(1,11):  # 1-10之间的数字
    # 奇偶数的判断
    if i % 2 == 0 : #偶数
        print('%s是偶数'%i)
    else:
        print('%s是奇数'%i)
通过关键字转换
str
list
字符串中 ,任意一个字符,包括空格都是一个元素
# join()  将括号内的序列的元素,按照当前的字符进行拼接
print(list2)
str3 = ''.join(list2)
print(str3)
序列类型: 元组
关键字 tuple
符号  ()
定义元组 (元素1,元素2, 元素3)
可以放入任意的数据类型
可以使用索引取值,可以使用切片取值
元组的元素不可变, 可以查询,无法修改,无法删除,无法添加
 如果元组里面只有一个元素,一定要在元素的后面加上一个逗号!!!否则就不是元组
列:
 元组只有一个元素
tuple3 = (3,)
print(tuple3)
print(type(tuple3))
序列类型: 字典
 关键字 dict
 符号 {}
 定义字典  {账号:askjdaksjdkjas,密码:*******}
 键(key)值(value)对,一一对应的关系
 字典的key必须是不可变类型,value可以是任意的数据类型
可变不可变
根据当前数据类型的id是否改变,来区分当前对象是否可变
id 当前对象在内存中的地址
可变: 修改里面的元素,内存地址不会改变  不需要重新赋值
不可变: 修改里面的元素,内存地址会改变   需要重新赋值
字典 key 不可变
    value  可变