zoukankan      html  css  js  c++  java
  • 列表总结

    列表可以存放任何数据类型,特别优秀。

    EG:>>> mix = [1,'linyanru',2.13,[1,2,5.6]]   #混合列表

    列表的“三增三减”

    一、插入

    1、list.append( )  向列表末尾添加括号内的参数(任何数据类型),原封不动的添加类型,一次只能添加一个参数

    2、list.extend( )  在列表末尾扩展括号内的参数(列表),添加列表中的元素变成原列表的元素

    3、list.insert(i,..... )  在list[i]这个位置插入参数,一次只能添加一个参数

    二、删除

    1、list.remove( )  删除列表中的跟括号参数一样的值,(注意:元素必须存在于列表中,否则会报错)

    2、list.del(i )  删除列表list[i]位置的元素

    3、pop( )  删除列表最后一个元素,如果括号有参数i,同del()用法

    三、列表分片(slice)

    list[a,b]:数学表示为[a,b):a表示从第几位开始(默认0开始),b默认b前一位为最后一个元素

    list[1:6]:原列表中索引值1~5的元素组成新的列表
    list[1:]:索引值从1开始到最后一个元素
    list[:]:原列表所有元素,特别的list2 = list[:]完成列表的拷贝,原列表变了它不会变
    list[0:9:2]:索引从0开始到索引8,跨步2取数
    list[::-1]:完成原列表的反转
    >>> list7 = [4,5,2,8,44,23,12]
    >>> list8 = list7[:]    #拷贝不变化
    >>> list9 = list7    #跟着变化
    >>> list8
    [4, 5, 2, 8, 44, 23, 12]
    >>> list9
    [4, 5, 2, 8, 44, 23, 12]
    >>> list7.sort( )
    >>> list7
    [2, 4, 5, 8, 12, 23, 44]
    >>> list8
    [4, 5, 2, 8, 44, 23, 12]
    >>> list9
    [2, 4, 5, 8, 12, 23, 44]
    list7 = [999]
    #这里如果list7重新赋值,list8和list9都不会变了,列表名相当于一个指针指向列表
     
    四、排序
    list.sort(func,key,reverse)  reverse默认False顺序,reverse=True倒序
     
    五、列表推导式或列表解析

    列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Haskell。可以用来动态的创建列表

    语法如:[有关A的表达式 for A in B]

    >>> list1 = [x**2 for x in range(10)]
    >>> list1
    [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
    >>> 
    

    相当于

    list1 = []
    for x in range(10):   #[0,10)
        list1.append(x**2)

    最后补充:
    列表的内置函数:
    比较两个列表的元素:operator.eq(list1,list2)(前提需import operator)
    计算列表元素个数:len(list1)
    返回列表中元素最大值:max(list1)
    返回列表中元素最小值:min(list1)
    将元组转换为列表:list(tuple1)

    >>>dir(list)   #列表的用法

    list.count(124)  #124在列表中出现多少次

    list.index(124)  #124在列表第一次出现的位置

    list.index(124,3,7)   #124list[3]list[7]中间出现的位置



     
  • 相关阅读:
    I NEED A OFFER!
    水题 Codeforces Round #303 (Div. 2) A. Toy Cars
    模拟 HDOJ 5099 Comparison of Android versions
    模拟 HDOJ 5095 Linearization of the kernel functions in SVM
    贪心 HDOJ 5090 Game with Pearls
    Kruskal HDOJ 1863 畅通工程
    Kruskal HDOJ 1233 还是畅通工程
    并查集 HDOJ 1232 畅通工程
    DFS/并查集 Codeforces Round #286 (Div. 2) B
    水题 Codeforces Round #286 (Div. 2) A Mr. Kitayuta's Gift
  • 原文地址:https://www.cnblogs.com/mumulucky/p/13473185.html
Copyright © 2011-2022 走看看