zoukankan      html  css  js  c++  java
  • Python学习list操作

    Python列表(list)操作:

    1. 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
    2. Python有6个序列的内置类型,但最常见的是列表和元组。
    3. 序列都可以进行的操作包括索引,切片,加,乘,检查成员。
    4. 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
    5. 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
    6. 列表的数据项不需要具有相同的类型

    列表创建与更新:

    1 #列表更新
    2 list = ['physics','chemistry',1997,2000]
    3 print('Value available at index 2:',list[2])     #列表的索引从0开始,依次为1
    4 list[2] = 2001     #通过直接赋值可以对列表进行更新
    5 print('Value available at index 2:',list[2])
    6 
    7 #结果:
    8 #Value available at index 2: 1997
    9 #Value available at index 2: 2001

    列表中添加元素:

    1 #使用append向列表添加元素
    2 list = ['physics','chemistry']
    3 list.append('wangtao')     #向列表中添加元素'wangtao'
    4 print(list[1])
    5 print(list)
    6 
    7 #结果
    8 #chemistry
    9 #['physics', 'chemistry', 'wangtao']

    删除列表元素:

    1 #删除列表元素
    2 list = ['physics', 'chemistry', 1997, 2000]
    3 print(list)
    4 del list[1]    #使用del语句可以对列表元素进行删除
    5 print(list)
    6 
    7 #结果
    8 #['physics', 'chemistry', 1997, 2000]
    9 #['physics', 1997, 2000]

    列表操作符:

     1 #列表操作符
     2 import operator
     3 list = [1,2,3,4,5]
     4 list2 = [2,3,4,5]
     5 print(len(list))      #len用于获取列表的长度
     6 print(list+list2)     #'+'对两个列表的元素组合成一个列表
     7 print(list*2)         #'*'重复列表
     8 print(3 in list)      #判断元素是否位于列表中
     9 print(6 in list)      #判断元素是否位于列表中
    10 print(max(list))      #返回列表中元素最大值
    11 print(min(list))      #返回列表中元素最小值
    12 print(operator.eq(list,list2))
     1 #Python中部分operator操作
     2 operator.lt(a, b)
     3 operator.le(a, b)
     4 operator.eq(a, b)
     5 operator.ne(a, b)
     6 operator.ge(a, b)
     7 operator.gt(a, b)
     8 operator.__lt__(a, b)
     9 operator.__le__(a, b)
    10 operator.__eq__(a, b)
    11 operator.__ne__(a, b)
    12 operator.__ge__(a, b)
    13 operator.__gt__(a, b)
    13 #在python 3中没有cmp函数了,若需要比较两个list的元素,需要调用operator模块
    14 
    15 
    16 #结果:
    17 #5
    18 #[1, 2, 3, 4, 5, 2, 3, 4, 5]
    19 #[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
    20 #True
    21 #False
    22 #5
    23 #1
    24 #True

    列表截取:

     1 #列表截取
     2 list = ['physics', 'chemistry', 1997, 2000]
     3 print(list[2])        #输出索引为'2'的元素
     4 print(list[-3])       #输出倒数第三个元素
     5 print(list[1:])       #从索引'1'开始输出列表元素
     6 
     7 #结果:
     8 #1997
     9 #chemistry
    10 #['chemistry', 1997, 2000]

     其余列表操作:

    1、list.append(obj):在列表末尾添加新的对象
    2、list.count(obj):统计某个元素在列表中出现的次数
    3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
    5、list.insert(index, obj):将对象插入列表
    6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    7、list.remove(obj):移除列表中某个值的第一个匹配项
    8、list.reverse():反向列表中元素
    9、list.sort([func]):对原列表进行排序
    

     例程:

     1 #!/usr/bin/env python3
     2 # -*- coding: utf-8 -*-
     3 # @Time    : 2018/3/31 16:01
     4 # @Author  : yang
     5 # @File    : names.py
     6 # @Software: PyCharm
     7 
     8 names = ['zhangyang','guyun','xiangpeng','xuliangchen']
     9 #添加
    10 #names.append('leihaidong')
    11 #print(names)       #['zhangyang', 'guyun', 'xiangpeng', 'xuliangchen', 'leihaidong']
    12 
    13 #插入
    14 # names.insert(1,'chenxiang')
    15 # print(names)     #['zhangyang', 'chenxiang', 'guyun', 'xiangpeng', 'xuliangchen']
    16 
    17 #删除
    18 # names.remove('zhangyang')     #直接移除列表中的元素
    19 # print(names)    #['guyun', 'xiangpeng', 'xuliangchen']
    20 
    21 # names.pop()      #未指定索引时,直接移除列表中最后一个元素
    22 # print(names)      #['zhangyang', 'guyun', 'xiangpeng']
    23 
    24 # names.pop(0)     #指定删除元素的索引,删除列表中第一个元素
    25 # print(names)    #['guyun', 'xiangpeng', 'xuliangchen']
    26 
    27 # del names[1]    #删除列表中索引为'1'的元素
    28 # print(names)     #['zhangyang', 'xiangpeng', 'xuliangchen']
    29 
    30 #修改
    31 # names[1] = 'wangchao'   #将列表第二个元素修改为'wangchao'
    32 # print(names)      #['zhangyang', 'wangchao', 'xiangpeng', 'xuliangchen']
    33 
    34 #输出元素的索引编号
    35 # print(names.index('guyun'))     #1
    36 
    37 #逆序输出列表
    38 # names.reverse()     #将列表元素逆序排列
    39 # print(names)    #['xuliangchen', 'xiangpeng', 'guyun', 'zhangyang']
    40 
    41 #输出列表特定区间的元素
    42 #names[start:stop],包括起始,不包括终点,也就是左闭右开
    43 #print(names[0:2])    #['zhangyang', 'guyun']
    44 #print(names[1:])    #打印输出从索引'1'开始到结束的所有元素:['guyun', 'xiangpeng', 'xuliangchen']
    45 #print(names[-1])    #打印输出从右往左数的第一个元素:xuliangchen
    46 #print(names[-3:-1])     #左闭右开,打印输出从右往左数的第三个元素和第二个元素:['guyun', 'xiangpeng']
  • 相关阅读:
    PAT 乙级真题 1013.组个最小数
    PAT 乙级真题 1012.D进制的A+B
    PAT 乙级真题 1011.个位数统计
    PAT 乙级真题 1010.月饼
    PAT 乙级真题 1009.1019.数字黑洞
    PAT 乙级真题 1008.锤子剪刀布
    PAT 乙级真题 1007.A除以B
    PAT 乙级真题 1006.1016.部分A+B
    C++自定义sort函数
    VS2017如何使用scanf函数
  • 原文地址:https://www.cnblogs.com/yangshijia/p/8658552.html
Copyright © 2011-2022 走看看