列表 元祖 range

1.列表 list

  • 存放一些数据的容器 比如 衣柜 书包
  • 作用:存储一些数据,数据量比较大
  • 可以下标 可以切片 可以步长 和字符串的完全一样
lst = [1,2,3]
print(lst)          #[1,2,3]
lst = ["qwe","wwe",4,5,6]
print(lst)          #["qwe","wwe",4,5,6]
lst = ["qwe","wwe",4,5,6]
print(lst)          #["qwe","wwe",4,5,6]
print(lst[0])       #hello
print(lst[0][1])    #i
lst[0] = "我怎么这么可爱"
print(lst)          #["我怎么这么可爱","wwe",4,5,6]
  • 字符串是不可变类型
s = "你好"
s[0] = "我" 
print(s)     #报错,字符串是不可变类型  值在变
s = "年后"
s = "我好"    #指向在变

1.1列表的增

1.1.1 lst.append()

  • 追加 在末尾的位置加一个
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst.append("牛爱花")
print(lst)#['杨紫', '高圆圆', '刘亦菲', '关晓彤', '牛爱花']

1.1.2 lst.insert()

  • 插入 第一个是要插入的位置下标 第二个是要插入的内容
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst.insert(1,"包夜")
print(lst)#['杨紫', '包夜', '高圆圆', '刘亦菲', '关晓彤']

1.1.3 lst.extend() 扩展 --迭代添加

lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst.extend("今天是新的一年")
print(lst)#['杨紫', '高圆圆', '刘亦菲', '关晓彤', '今', '天', '是', '新', '的', '一', '年']
  • 整形布尔值不能迭代

1.1.4 列表合并

lst1 = [1,2,3]
lst2 = [4,5,6]
print(lst1+lst2) #[1, 2, 3, 4, 5, 6]
  • 开辟了新的空间

1.2列表的删

1.2.1 del

  • 删除列表
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
del lst
print(lst) #报错 没有lst列表
  • 配合下标,切片,步长删除
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
del lst[-1]
print(lst)  #['杨紫', '高圆圆', '刘亦菲']
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
del lst[0:2]
print(lst)  #['刘亦菲', '关晓彤']
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
del lst[0:2:2]
print(lst)  #['高圆圆', '刘亦菲', '关晓彤']

1.2.2 lst.remove()

  • 通过内容删除
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst.remove("高圆圆")
print(lst)#['杨紫', '刘亦菲', '关晓彤']

1.2.3 lst.pop()

  • 没有指定默认删除最后一个
  • 可以指定下标删除
  • 返回值位下标的内容
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst.pop()
print(lst)#['杨紫', '高圆圆', '刘亦菲']
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
ret=lst.pop(0)
print(lst)#['高圆圆', '刘亦菲', '关晓彤']
print(ret) #杨紫

1.2.4 lst.clear () 清空

lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst.clear()
print(lst)#[]

1.3 列表的改

1.3.1通过下标,切片,步长更改

lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]#****
lst[0] = "杨幂"
print(lst)#['杨幂', '高圆圆', '刘亦菲', '关晓彤']
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst[0:3] = "你好美"
print(lst)#['你', '好', '美', '关晓彤']
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst[0:3] = "你好"
print(lst) #['你', '好','关晓彤']
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst[0:3] = "委书记董位按实际都那时"
print(lst)#['委', '书', '记', '董', '位', '按', '实', '际', '都', '那', '时', '关晓彤']
  • 长度要统一
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst[0:4:2] = "你好"
print(lst)#['你', '高圆圆', '好', '关晓彤']

1.4列表的查

1.4.1 for循环

lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]#杨紫
for i in lst:                       #高圆圆
    print(i)                        #刘亦菲
                                    #关晓彤

1.4.2 通过下标查

lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
print(lst[0])#杨紫

1.5列表的操作

1.5.1 lst.index()

  • 通过内容查找下标
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
print(lst.index("高圆圆"))#1

1.5.2 lst.count()

  • 计数
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
print(lst.count("高圆圆")) #1

1.5.3 lst.copy()

  • 复制
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
ret = lst.copy()
print(lst)#['杨紫', '高圆圆', '刘亦菲', '关晓彤']
print(ret)#['杨紫', '高圆圆', '刘亦菲', '关晓彤']

1.5.4 lst.reverse()

  • 翻转
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
ret = lst.reverse()
print(lst)#['关晓彤', '刘亦菲', '高圆圆', '杨紫']
print(ret)#None
         #这是一操作,没有返回的内容   变化的内容在元数据查看

1.5.5 lst.sort()

  • 排序 通过asicii码比较 默认升序
lst = ["杨紫","高圆圆","刘亦菲","关晓彤"]
lst.sort()
print(lst)['关晓彤', '刘亦菲', '杨紫', '高圆圆']
lst = [1,5,9,63,54,81,22]
lst.sort(reverse=True)#降序
print(lst)#[81, 63, 54, 22, 9, 5, 1]

1.5列表嵌套

lst = ["杨紫","高圆圆","刘亦菲","关晓彤",["迪丽热巴","古力娜扎",["杨幂","蔡依林"]]]
print(lst[4][1]) #古力娜扎
print(lst[4][3][0])#杨幂

2.元祖 tuple

  • 元祖是不可变数据 不可进行修改 存放一些用户密码的时候
  • 元祖其实就是一个不可以修改的列表
tu = (1,2,3,4,"你好啊",True)
print(tu)#(1, 2, 3, 4, '你好啊', True)
print(tu[2])#3
print(tu[2:5])#(3, 4, '你好啊') 切片为元祖
print(tu[2:5:2])#(3, '你好啊')

3.range

  • 范围 python3中range(0,10)是一个可迭代对象

  • python2中xrange和python中的range是一样的 都是可迭代对象

    python2中的range是获取一个列表

range(0,10) # 其实位置 10 终止位置
print(range(0,10))# range(0,10)
print(list(range(0,10,3)))#[1,4,7]
  • 第一个位置是其实位置 第二是终止位置 第三个是步长 终止位置和切片一样 都是取前不取后 他们之间用逗号分开

猜你喜欢

转载自www.cnblogs.com/zhaohaiyu/p/11134895.html