zoukankan      html  css  js  c++  java
  • python中的基本数据类型之列表,元组

    一.列表

    1.什么是列表.

    列表是python的基本数据类型之一,用[]来表示,可以存放各种数据类型(什么都能装,能装对象的对象)

    列表相比于字符串,不仅可以存放不同类型的数据,而且可以存放大量的数据.

    2.列表的索引和切片(列表和字符串一样,也拥有索引和切片)

    列表切片切出来的内容依旧是列表.

    2.1索引:

     

    lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾']
    print(lst[0])
    
    lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾']
    lst[2]='赖美云'
    print(lst)#这里说明列表是可以发生改变的,与字符串不同,字符串每次操作 都会返回一个新的字符串
    2.2切片
    1 lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾']
    2 print(lst[0:4])
    3 
    4 lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾']
    5 print(lst[-1:-4:-2])   #倒着,带步长,跳着也可以取

    二.列表的增删改查

    1.增加

    1.1append 追加

     

    1 lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾']
    2 print(lst)
    3 lst.append('张杰')
    4 print(lst)   
    5 #########运行结果
    6 ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    7 ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾', '张杰']  #在原列表的末尾加入新的东西.

    1.2 insert(index, 元素) 在index位置添加元素

     

    1 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    2 lst.insert(1,'刘德华')    #在1位置插入刘德华,原来在一后面的元素就会向后移动一位
    3 print(lst)
    1.3 extend() 迭代添加
     1 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
     2 lst.extend('大张伟')   #把输入的字符串一个一个迭代添加到列表的最后
     3 print(lst)
     4 #['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾', '大', '张', '伟']
     5 lst.extend(['霍元甲'])   #把字符串整个添加到列表的最后
     6 print(lst)
     7 #['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾', '大', '张', '伟', '霍元甲']
     8 lst.extend(['朱元璋','李白'])    #把多个字符串添加到列表的最后
     9 print(lst)
    10 #['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾', '大', '张', '伟', '霍元甲', '朱元璋', '李白']

    2.删除

    2.1pop(index)按照位置删除元素
    1 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    2 lst.pop(2)    #删除2号元素,括号里什么也不写,默认删除最后一个
    3 print(lst)
    4 # ['马化腾', '马云', '王健林', '雷军', '刘翔']
    2.2remove(元素)直接删除元素
    1 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    2 lst.remove("马云")   #删除知道元素具体内容的指定元素
    3 print(lst)
    4 #['马化腾', '王健林', '雷军', '刘翔', '萧敬腾']
    5 lst.remove("哈哈")     #删除不存在的元素会报错
    6 print(lst)
    7 # ValueError: list.remove(x): x not in list报错内容
    2.3del切片
    1 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    2 del lst[1:3]      #与前两个删除不同的是格式上要 del+空格+列表
    3 print(lst)
    4 # ['马化腾', '雷军', '刘翔', '萧敬腾']
    2.4clear()清空列表
    1 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    2 lst.clear()
    3 print(lst)
    4 # []

    3.修改 

    3.1索引修改

    1 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    2 lst[1]='丘比特'   #把指定元素修改成指定内容
    3 print(lst)
    4 # ['马化腾', '丘比特', '王健林', '雷军', '刘翔', '萧敬腾']
    3.2切片修改
    lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    lst[1:4:3]=['杨幂','迪丽热巴']    #如果补偿不是一,要注意元素的个数
    print(lst)
    # ValueError: attempt to assign sequence of size 2 to extended slice of size 1
    lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    lst[1:4]=['杨幂','迪丽热巴']    #如果步长是一,就不用关心元素的个数
    print(lst)
    #['马化腾', '杨幂', '迪丽热巴', '刘翔', '萧敬腾']

    4.查询

    列表是一个可迭代对象,所以可以进行for循环,分别输出列表中的每一个元素.

    for el(元素) in lst:  

      print(el)

    5.其他操作

    5.1次数(count)

    1 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾'] 2 num=lst.count('马云') #查询马云出现的个数 3 print(num) 4 #1

    5.2排序(sort)
    lst = [1,2,3,9,4,5,6,8]
    lst.sort()    #排序,默认升序
    print(lst)
    #[1, 2, 3, 4, 5, 6, 8, 9]
     
    lst = [1,2,3,9,4,5,6,8]
    lst.sort(reverse=True)    #降序 
    print(lst)
    #[9, 8, 6, 5, 4, 3, 2, 1]
    5.3反转(reverse)
    1 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    2 lst.reverse()    #反转
    3 print(lst)
    4 #['萧敬腾', '刘翔', '雷军', '王健林', '马云', '马化腾']
    5.4长度(len)
    1 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
    2 lst.reverse()    #反转
    3 print(lst)
    4 #['萧敬腾', '刘翔', '雷军', '王健林', '马云', '马化腾']

    三.列表的嵌套

    采用降维的操作,一层一层的看lst=[1,'hua',5,'会有鬼',[1,5,'发过火',54,[5,5,6,'fgh','法国红酒']]]

     print(lst[3])    #找到会有鬼
     print(lst[2:4])    #找到5和会有鬼
     print(lst[3][2])    #找到会有鬼的鬼字
     s=lst[1]            #拿到hua,将首字母大写,再扔回去
     s=s.capitalize()    #
     lst[1]=s            #
     print(lst)          #
    
    lst=[1,'hua',5,'会有鬼',[1,5,'发过火',54,[5,5,6,'fgh','法国红酒']]]          #把发过火改成发过水
    lst[4][2]=lst[4][2].replace('','')     #要定位到发过火,不要定位到火,才能改
    print(lst)
    #[1, 'hua', 5, '会有鬼', [1, 5, '发过火', 54, [5, 5, 6, 'fgh', '法国红酒'], '雪碧']]

    四.元组和元组嵌套

    俗称不可变的列表,又被称为只读列表,元组也是python的只读列表之一用()括起来,里面可以放任何数据类型的数据,但是不能改.

    1 tu=(1,'太白','李白','太黑','怎么黑')
    2 print(tu)
    3 print(tu[0])
    4 print(tu[1])
    5 print(tu[1:4])
    6 4.1for循环便利元组
    7 for el in tu:
    8   print(el)

    五.range

     range可以帮我获取到一组数据通过for循环打印这组数据

    1 for i in range(0,101,2):
    2     print(i)
    改变世界,改变自己!
  • 相关阅读:
    python-获取网页源码及保存网页图片到本地实例
    python-随机向文件中写入100个名字实例
    python-计算文件中每个字出现的次数
    python-序列类型
    python-字符串
    python示例1(基本知识巩固)
    python-示例(基本知识巩固)
    [leetcode] Binary Tree Upside Down
    Trie 树
    第K大问题
  • 原文地址:https://www.cnblogs.com/shanghongyun/p/9396529.html
Copyright © 2011-2022 走看看