码迷,mamicode.com
首页 > 编程语言 > 详细

python-day2-06-列表

时间:2018-07-03 14:47:27      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:[1]   code   链接   list   命名   一个   比较   数组   语言   

  1. 前面我们了解了str、int、float等数据类型,比如人名用str,name=‘菜鸟’,那如果我们一个部门呢?还用字符串存数据吗?names =‘菜鸟,张三,李四’这样存数据,在调用的时候岂不是很麻烦,比如我们想取到星星,还要用到字符串方法,会比较麻烦,或者你想每个人取一个字符串的变量,这样也很麻烦,有多少个人,岂不是就要定一个多少个变量了?
  2. 为了解决这些麻烦,就有了列表,顾名思义,就是一个表,里面村范一系列数据,python里的列表定义比其他语言要简单,中括弧 [ ]括起来就是列表了,当然在python里列表也叫数组,大家不要因为名字不同而困惑,都一个概念,列表增删改查如下:
    • 列表命名
    • # 列表命名,列表名=[元素1,元素2,元素3],元素用英文逗号隔开,元素如果是字符串需要加引号
      names =[张三,李四,王五,小红,小明]
      # 列表里的元素是有排序的,所以每个元素都有一个数字编号,计算机是从0开始的,所以[‘张三‘,‘李四‘,‘王五‘,‘小红‘,‘小明‘]
      # 这些元素对应的索引一次为:01234,当然在python里除了索引这个叫法,还有下标、角标,都一个意思

       

    • 列表取值
    • 1 # 列表取值
      2 print(names[0])  #列表名[元素索引],这个格式就去到索引对应的元素了,这里取到‘张三‘,列表只有这一种取值方法
      3 print(names[-1]) #负数表示从后往前取元素,这里取到了小明

       

    • 新增元素
    • 1 # 新增元素
      2 names.append(刚刚)  #列表名.append(元素),这个方法是在列表最后面加一个元素,这里在列表最后加上‘刚刚‘
      3 print(names)          # 结果为:[‘张三‘, ‘李四‘, ‘王五‘, ‘小红‘, ‘小明‘, ‘刚刚‘]
      4 names.insert(2,李白)  #列表名.insert(索引值,元素),这个方法是在指定索引位置插入元素,之前该位置及后面的元素向后移一位
      5 print(names)            #结果为:[‘张三‘, ‘李四‘, ‘李白‘, ‘王五‘, ‘小红‘, ‘小明‘, ‘刚刚‘]

       

    • 修改元素
    • 1 # 修改元素
      2 names[0] = 杜甫       #列表名[索引值]=新元素,这样就修改元素了
      3 print(names)            #结果为:[‘杜甫‘, ‘李四‘, ‘李白‘, ‘王五‘, ‘小红‘, ‘小明‘, ‘刚刚‘

       

    • 删除元素
    •  1 # 删除元素
       2 names.pop()  #默认删除最后一个元素
       3 print(names) #结果为:[‘张三‘, ‘李四‘, ‘王五‘, ‘小红‘]
       4 names.pop(2) #删除指定下标的元素
       5 print(names) #结果为:[‘张三‘, ‘李四‘, ‘小红‘]
       6 names.remove(小红) #和pop不同,删除列表中指定的元素
       7 print(names)         #结果为:[‘张三‘, ‘李四‘]
       8 del names[1]  #删除指定下标的元素
       9 print(names)  #结果为:[‘张三‘]
      10 names.clear() #清空列表
      11 print(names)  #结果为:[]

       

    • 定义多维数组
    • 1 # 多维数组
      2 names1=[小刚,小红,[宙斯,美杜莎],杜甫,李白] #数组里再来一个数据就是二维数组了
      3 names2=[小刚,小红,[宙斯,[美杜莎,女王]],杜甫,李白]
      4 print(names2[2][1][1])   #取到的值为‘女王‘

       

    • 列表内置方法:
    •  1 # 内置方法
       2 names =[张三,李四,王五,小红,小明]
       3 names2 = [宙斯,美杜莎]
       4 # names.extend(names2)   #合并两个list,将names2合并到names里面
       5 print(names)           #结果为:[‘张三‘, ‘李四‘, ‘王五‘, ‘小红‘, ‘小明‘, ‘宙斯‘, ‘美杜莎‘]
       6 names+names2       #合并两个list。但和上面不一样,这里只是把两个列表链接起来,原来的列表不会变化,类似字符串相加
       7 new_name =names+names2 #用+号的时候,需要用一个新列表来接收
       8 print(new_name)        #结果为:[‘张三‘, ‘李四‘, ‘王五‘, ‘小红‘, ‘小明‘, ‘宙斯‘, ‘美杜莎‘]
       9 print(names.count(张三))
      10 print(names.sort())

       

    • 列表切片:
      • 顾名思义,就是把列表切成我们想要的片段。上面了解到,列表是有下标、索引的,name切片就是根据这个下标来进行切片的,比如我想取第一个元素到第三个元素,那么就这样写:names[0:3],这样就取到前面三个元素了
      • 但是你会发现,3的下标第四个元素,为啥切片要切到3呢,因为python切片里,顾头不顾尾,意思就是从下标取到结束下标的前一位元素。
      • 另外如果是从0下标开始取值,那么可以省略不写,直接写names[:3]即可
      • 如果是取值到最后,那么可以省略不写最后的索引,直接写names[3:]即可
      • 显然[:]这样就是取全部了
      • 步长:每走几步取一个元素,比如num【0:10:2】,这里就是美两个元素取一个,取值结果为[1,3,5,7,9]
      • 1 # 列表切片
        2 nums=[1,2,3,4,5,6,7,8,9]
        3 print(nums[1:3])  #取第二个元素到第三个元素,结果为[2, 3]
        4 print(nums[3:])   #从第四个元素开始,取所有的元素,一直取到最后,结果为[4, 5, 6, 7, 8, 9]
        5 print(nums[:6])   #取所有元素,从头开始取,前面的下标可以不写,结果为[1,2,3,4,5,6]
        6 print(nums[1:10:2])  #步长为2,每两个元素取一个,结果为[1,2,3,4,5,6,7,8,9]
        7 print(nums[::1])  #取素有的元素,1就是每个元素都取,结果为[1,2,3,4,5,6,7,8,9]
        8 print(nums[::-1])  #步长为负数的情况下是从后往前取,结果为[9, 8, 7, 6, 5, 4, 3, 2, 1]
        9 print(nums[7:1:-2])  #步长为负数时,这里的下标必须是前面的下标大于后面的下标,因为他是从后往前取的,结果为:[8, 6, 4]

         

python-day2-06-列表

标签:[1]   code   链接   list   命名   一个   比较   数组   语言   

原文地址:https://www.cnblogs.com/vc123/p/9257760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!