zoukankan      html  css  js  c++  java
  • python的数据类型之列表list

    列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。例如:

    1 stus = ["zhangsan","lisi","wangwu","zhaoliu"] 
    2 nums = [2,4,5,7,3,6,9,12,34,23,33,454]     
    3 cities =["beijing","tianjin","henan","5"]

    第一个列表stus中有4个元素,分别是zhangsan、lisi、wangwu、zhaoliu,列表的索引也是从0开始,zhangsan的索引是0,lisi的索引是1,wangwu的索引是2,zhaoliu的索引是3,索引也可以用负数表示,最前面一个元素的索引是0,最后面一个元素的索引是-1;

    1.访问list中的元素

    使用下标索引来访问列表中的值,例如:

    1 stus = ["zhangsan","lisi","wangwu","zhaoliu"]
    2 print(stus[3])

    以上输出结果是:

    zhaoliu
    

    2.增加列表元素

    (1)使用append()方法来添加列表项,其作用是在列表末尾增加一个元素,如下所示:

    1 cities= []   #  先定义一个空的list                    
    2 cities.append("beijing") #在列表末尾增加一个元素 
    3 cities.append("tianjin") 
    4 print(cities)
    5 
    6 
    7 #以上运行结果是
    8 ['beijing', 'tianjin']

    (2)使用insert()方法在列表指定的位置增加一个元素,如下:

    1 cities= ['beijing', 'tianjin']
    2 cities.insert(0,"shanghai") #在列表索引为0的位置增加一个元素
    3 print(cities)
    4 
    5 #以上代码运行结果是
    6 ['shanghai', 'beijing', 'tianjin']

    3.删除列表元素

    (1)使用pop方法删除指定位置的元素,例如:

    1 cities= ['beijing', 'tianjin',"henan","wuhan"]
    2 cities.pop(0)  #删除索引为0的元素
    3 print(cities)
    4 
    5 #以上代码运行结果是
    6 ['tianjin', 'henan', 'wuhan']

    (2)使用remove()方法删除指定的元素,例如:

    1 cities= ['beijing', 'tianjin',"henan","wuhan"]
    2 cities.remove("beijing")   #删除指定的元素
    3 print(cities)
    4 
    5 #以上代码运行结果是
    6 ['tianjin', 'henan', 'wuhan']

     (3)使用clear()方法清空列表,例如:

    1 cities= ['beijing', 'tianjin',"henan","wuhan"]
    2 cities.clear()
    3 print(cities)
    4 
    5 #以上代码运行结果是:
    6 [] 列表被清空

     4.修改列表元素

    修改列表元素时,需要使用指定元素的索引来进行修改,例如:

    1 cities= ['beijing', 'tianjin',"henan","wuhan"]
    2 cities[1]="dongguan" #将索引为1的元素,修改为dongguan
    3 print(cities)
    4 
    5 #以上代码运行结果是:
    6 ['beijing', 'dongguan', 'henan', 'wuhan']

    字符串也可以使用下标进行取值,但是字符串是不可变量,不可以修改,例如:

    1 s = "niuniu"
    2 print(s[0])
    3 print(s[::-1])
    4 s[2]="a"#这个运行会报错,字符串是不可变量,不可以修改
    5 
    6 报错结果:
    7 TypeError: 'str' object does not support item assignment

    5.查看列表中的元素

    (1)使用index()方法查找元素的索引,例如:

    1 cities= ['beijing', 'tianjin',"henan","wuhan"]
    2 print(cities.index("henan"))#获取元素的下标,如果找不到那个元素的话,会报错
    3 cities[1]="dongguan"
    4 
    5 
    6 #以上代码运行结果是:
    7 2

    (2)使用count()方法查看元素在列表中出现多少次,例如:

    1 cities= ['beijing', 'tianjin',"henan","wuhan","beijing","beijing"]
    2 print(cities.count("beijing"))#查看元素在list里面出现多少次
    3 
    4 
    5 #以上代码运行结果是:
    6 3 # bejing这个元素在列表中出现了3次

    (3)使用reverse()方法翻转列表,例如:

    1 cities= ['beijing', 'tianjin',"henan","wuhan"]
    2 cities.reverse()#使用reverse方法翻转
    3 print(cities)
    4 
    5 #以上代码运行结果是:
    6 ['wuhan', 'henan', 'tianjin', 'beijing']

    (4)使用sort()方法对列表的元素进行排序,sort()方法的排序方法是升序排序,例如:

     1 nums = [2,4,5,7,3,6,9,12,34,23,33,454]
     2 words = ["w","e","t","y","s","g","df","kea","a"] #字符串也可以安装首字母进行升序排序
     3 words.sort()
     4 nums.sort()
     5 print(nums)
     6 print(words)
     7 
     8 #以上代码运行结果是:
     9 [2, 3, 4, 5, 6, 7, 9, 12, 23, 33, 34, 454]
    10 ['a', 'df', 'e', 'g', 'kea', 's', 't', 'w', 'y']

    (5)使用sort(reverse=True)方法进行降序排序,例如:

     1 nums = [2,4,5,7,3,6,9,12,34,23,33,454]
     2 words = ["w","e","t","y","s","g","df","kea","a"] #字符串也可以安照首字母进行降序排序
     3 words.sort(reverse=True)
     4 nums.sort(reverse=True)
     5 print(nums)
     6 print(words)
     7 
     8 #以上代码运行结果是:
     9 [454, 34, 33, 23, 12, 9, 7, 6, 5, 4, 3, 2]
    10 ['y', 'w', 't', 's', 'kea', 'g', 'e', 'df', 'a']

     6.list切片操作

    list中的元素都是有序的,所以在取出list中的元素时可以使用切片操作,例如:

    (1)第一种取值方法:

    1 nums = ["baicai","luobo","xigua","lajiao"]
    2 print(nums[1:3])#顾头不顾尾,从索引为1的地方取值,直到索引为3的地方,但不包括3
    3 
    4 #以上运行结果是:
    5 ['luobo', 'xigua']

    (2)第二种取值方法:

    1 nums = ["baicai","luobo","xigua","lajiao"]
    2 print(nums[1:])#如果从某个下标开始,取到末尾结束
    3 
    4 # #以上运行结果是:
    5 ['luobo', 'xigua', 'lajiao']

    (3) 第三种取值方法:

    1 nums = ["baicai","luobo","xigua","lajiao"]
    2 print(nums[:2])#如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写
    3 
    4 # #以上运行结果是:
    5 ['baicai', 'luobo']

    (4)第四种取值方法:

    1 nums = ["baicai","luobo","xigua","lajiao"]
    2 print(nums[:])#取所有的
    3 
    4 # #以上运行结果是:
    5 ['baicai', 'luobo', 'xigua', 'lajiao']

    (5)根据步长取值:

    1 lis = list(range(1,21)) #生成0到20的list
    2 print((lis[::2]))#2是步长,就是隔几个取一次的意思,如果步长是正数,是从左往右取值
    3 print((lis[::-2]))#如果步长是负数,是从右边往左边取值

    4 #以上运行结果是: 5 [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] #步长为正数的结果 6 [20, 18, 16, 14, 12, 10, 8, 6, 4, 2] #步长为负数的结果

    再举出一个容易糊涂的取值,但是一般也不这么写,例如:

    1 lis = list(range(1,21)) #生成0到20的list
    2 print(lis[:18:-1])#-1倒序,开头没有取值,所以默认从20往左取值,取到18的下标(19),但不顾尾,所以19不取
    3 
    4 #以上运行结果是:
    5 [20]
  • 相关阅读:
    eclipse快速给表达式生成对应变量的快捷键
    java截取字符串中的最后几个字符
    javascript删除数组元素的7个方法
    java构建树形列表(带children属性)
    elementui树表修改子节点不能实时更新的解决办法
    css3的user-select属性设置文本内容能否被选择
    javascript中for-in和for-of的区别
    计算机等级考试改革
    SQL分组查询
    Windows 8 快捷键
  • 原文地址:https://www.cnblogs.com/xiehong/p/8642023.html
Copyright © 2011-2022 走看看