list 订阅
list是一个计算机专业术语,在编程语言中List 是类库中的一个类,可以简单视之为双向连结串行,以线性列的方式管理物件集合。 展开全文
list是一个计算机专业术语,在编程语言中List 是类库中的一个类,可以简单视之为双向连结串行,以线性列的方式管理物件集合。
信息
类    型
计算机专业术语
区别于
vector
中文名
list
一般定义
一览表; 明细表; 目录; 名单
list一般定义
一览表; 明细表; 目录; 名[清、价目]单list 的特色是在集合的任何位置增加或删除元素都很快,但是不支持随机存取。list 是类库提供的众多容器(container)之一,除此之外还有vector、set、map、…等等。list 以模板方式实现(即泛型),可以处理任意型别的变量,包括使用者自定义的资料型态
收起全文
精华内容
下载资源
问答
  • java(13)List-----List嵌套

    万次阅读 2018-04-14 00:52:45
    我的需求是想一次性传递多个list。 现在在测试可以如何实现。查看test4:list<list<String>>的初始化 在我不同测试和思路中,对list传递有几个不同的猜测和实验。 test1:测试两个list的话,一个list...

    我的需求是想一次性传递多个list。

    现在在测试可以如何实现。查看test4:list<list<String>>的初始化

    在我不同测试和思路中,对list传递有几个不同的猜测和实验。

    test1:测试两个list的话,一个list存数据,那么另一个list是否可以存第一个list的首地址。

    首先这个问题是可以实现的。

    List<String> tep = new ArrayList<String>();

    List<String> ls = new ArrayList<String>();

    tep.add("A");

    tep.add("B");

    tep.add("C");

    ls.add(tep.get(0));

    System.out.println(ls.get(0));

    这么是可以访问到数据A的。

    test2:但是我的问题是,我想用一个链表ls,他其中存的都是其他链表的首地址,这样我就可以通过传递ls那个List去传递所有的链表了。当然,测试后发现并不可以,其实问题出在了s.get(index_1).get(index_2);是不可以的。就是我是能访问tep的第一个数据A,但是我不能连着两个get得到B和C;如果我用String也仍然是不可以的。

     

    test3:如果我们这么声明List<List<String>>的话,可以吗?怎么定义,怎么初始化啊?

    定义:如下的两种定义方式都是不会报错的。

        

    如何初始化和使用呢?

        一层一层赋值就可以了,因此也实现了多个list的传值。

    输出结果:

     

    test4: 测试两个list放进入是否成立。因此多个list的传递是可以放在一个List中,然后传递List<List<String>>过去的。

     

    输出结果:

    接受该参数的函数,只需要用同样的变量接受。那他怎么使用内层的List呢?因此无论基层都是可以使用的。

     

     

     

    展开全文
  • Python列表排序 list.sort方法和内置函数sorted

    万次阅读 多人点赞 2019-05-18 15:17:54
    Python列表排序 list.sort方法和内置函数sorted 很多时候我们获取到一个列表后,这个列表并不满足我们的需求,我们需要的是一个有特殊顺序的列表. 这时候就可以使用list.sort方法和内置函数sorted,本文就是介绍list....

    Python列表排序 list.sort方法和内置函数sorted

    很多时候我们获取到一个列表后,这个列表并不满足我们的需求,我们需要的是一个有特殊顺序的列表.

    这时候就可以使用list.sort方法和内置函数sorted,本文就是介绍list.sort方法和sorted内置函数的使用方法和区别.

    一、list.sort方法

    list.sort方法会就地排序列表,也就是说不会把原列表复制一份。这也是这个方法的返回值是None的原因,提醒您本方法不会新建一个列表。

    在这种情况下返回None其实是Python的一个惯例:如果一个函数或者方法对对象进行的是就地改动,那它就应该返回 None,好让调用者知道传入的参数发生了变动,而且并未产生新的对象。

    来看一下代码:

    # coding=utf-8
    list_a = [1, 2, 8, 3, 7, 9, 5, 7]
    # sort()方法没有返回值
    list_b = list_a.sort()
    print("list_a: ", list_a)
    print('list_b: ', list_b)

    运行结果:

    list_a:  [1, 2, 3, 5, 7, 7, 8, 9]
    list_b:  None

    用返回None来表示就地改动这个惯例有个弊端,那就是调用者无法将其串联起来。而返回一个新对象的方法则正好相反,它们可以链式调用,从而形成连贯接口。

    二、sorted内置函数

    与 list.sort 相反,内置函数sorted会新建一个列表作为返回值。

    这个方法可以接受任何形式的可迭代对象作为参数,甚至包括不可变序列或生成器,而不管sorted接受的是怎样的参数,它最后都会返回一个列表。

    代码示例:

    list_c = [1, 2, 8, 3, 7, 9, 5, 7]
    # sorted内置函数会返回一个排序后的新列表
    list_d = sorted(list_c)
    print("list_c: ", list_c)
    print('list_d: ', list_d)

    运行结果:

    list_c:  [1, 2, 8, 3, 7, 9, 5, 7]
    list_d:  [1, 2, 3, 5, 7, 7, 8, 9]

    可以看到,使用内置函数sorted时,返回了一个新的列表,而原列表没有发生改变。

    这有两种好处:

    1.如果我们即需要使用原列表,也需要使用排序后的列表,或者说我们要将一个非列表的可迭代对象排序成列表,sorted都可以做到

    2.有返回值时,我们可以进行链式调用

    # 可以对非列表的可迭代对象排序生成列表
    str_e = 'python'
    list_e = sorted(str_e)
    print(list_e)
    
    # 链式调用
    str_f = '-'.join(sorted(str_e)).upper().split('-')
    print(str_f)
    

    运行结果:

    ['h', 'n', 'o', 'p', 't', 'y']
    ['H', 'N', 'O', 'P', 'T', 'Y']

    三、关键字参数key和reverse

    不管是 list.sort 方法还是 sorted 函数,都有两个可选的关键字参数:

    key
    接收一个只有一个参数的函数,这个函数会被用在序列里的每一个元素上,所产生的结果将是排序算法依赖的对比关键字。

    比如说,在对一些字符串排序时,可以用 key=str.lower 来实现忽略大小写的排序,或者是用 key=len 进行基于字符串长度的排序。key的默认值是恒等函数,也就是默认用元素自己的值来排序。

    reverse:

    如果被设定为 True,被排序的序列里的元素会以降序输出(也就是说把最大值当作最小值来排序),reverse的默认值是 False.

    phone = ('HUAWEI', 'OPPO', 'MI', 'MEIZU', 'VIVO')
    # 按长度进行排序
    phone_list = sorted(phone, key=len)
    print(phone_list)
    
    phone_list_re = sorted(phone, key=len, reverse=True)
    print(phone_list_re)

    运行结果:

    ['MI', 'OPPO', 'VIVO', 'MEIZU', 'HUAWEI']
    ['HUAWEI', 'MEIZU', 'OPPO', 'VIVO', 'MI']

    上面的代码中,第一次排序新建了一个按照长度排序的字符串列表。第二次排序是将按长度排序由升序变成了降序。

    细心的您应该可以发现,第二次的结果并不是第一次排序的结果的完全翻转。

    OPPO和VIVO的长度都是4,reverse=True后,它们的相对位置跟第一次排序是一样的。这是什么原因呢?

    sorted和list.sort背后的排序算法都是Timsort,它是一种自适应算法,会根据原始数据的顺序特点交替使用插入排序和归并排
    序,以达到最佳效率。

    Python的排序算法Timsort是稳定的(知道这一点就可以了),意思是就算两个元素比不出大小,在每次排序的结果里它们的相对位置是固定的。

    因为用到的排序算法是稳定的,也就是说在长度一样时,OPPO和VIVO的相对位置不会改变。

    关于list.sort()方法和sorted内置函数的使用,现在已经掌握了~

     

     

    展开全文
  • Python list函数

    万次阅读 多人点赞 2018-10-05 22:17:51
    Python内置函数list介绍、使用示例和注意事项。

    目录

    描述

    语法

    使用示例

    1. 创建一个空列表(无参调用list函数)

    2. 将字符串转换为列表

    3. 将元组转换为列表

    4. 将字典转换为列表

    5. 将集合转换为列表

    6. 将其他可迭代序列转化为列表

    注意事项

    1. 参数必须是可迭代序列对象

    2. 无意义的转换----将列表转换为列表


    描述

    list()函数是Python的内置函数。它可以将任何可迭代数据转换为列表类型,并返回转换后的列表。当参数为空时,list函数可以创建一个空列表。

    语法

    list(object)
    名称说明备注
    object待转换为列表的数据类型可省略的参数

    使用示例

    1. 创建一个空列表(无参调用list函数)

    >>> test = list()
    >>> test
    []

    2. 将字符串转换为列表

    >>> test = list('cat')
    >>> test
    ['c', 'a', 't']

    3. 将元组转换为列表

    >>> a_tuple = ('I love Python.', 'I also love HTML.')
    >>> test = list(a_tuple)
    >>> test
    ['I love Python.', 'I also love HTML.']

    4. 将字典转换为列表

    >>> a_dict = {'China':'Beijing', 'Russia':'Moscow'}
    >>> test = list(a_dict)
    >>> test
    ['China', 'Russia']

    ⚠️注意:将字典转换为列表时,会将字典的值舍去,而仅仅将字典的键转换为列表。如果想将字典的值全部转换为列表,可以考虑使用字典方法dict.values()

    5. 将集合转换为列表

    >>> a_set = {1, 4, 'sdf'}
    >>> test = list(a_set)
    >>> test
    [1, 'sdf', 4]

    6. 将其他可迭代序列转化为列表

    下面的代码将range类型和map类型的可迭代序列转换为列表:

    >>> test1 = list(range(10))
    >>> test2 = list(map(int, [23.2, 33.1]))
    >>> test1
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> test2
    [23, 33]

    注意事项

    1. 参数必须是可迭代序列对象

    list函数的参数必须是可迭代对象。当选用不可迭代的对象作为参数时,Python报错。

    >>> test = list(12)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'int' object is not iterable

    2. 无意义的转换----将列表转换为列表

        可以使用list函数将列表转换为一个列表,虽然这么做Python不会有任何的异常或者报错----但是这种行为显然是没有意义且浪费资源的行为。

    >>> a_list = ['Python', 'C', 'Java', 'HTML', 'CSS']
    >>> test = list(a_list)
    >>> test
    ['Python', 'C', 'Java', 'HTML', 'CSS']

    展开全文
  • Python中如何求列表list的平均数

    万次阅读 多人点赞 2019-09-28 10:12:07
    Python中如何求列表list的平均数 当列表list中只包含数字时,如何求取它的平均数: from numpy import * a = [52,69,35,65,89,15,34] b = mean(a) print(b) 运行结果: 51.285714285714285 ...

    Python中如何求列表list的平均数

    当列表list中只包含数字时,如何求取它的平均数:

    from numpy import *
    a = [52,69,35,65,89,15,34]
    b = mean(a)
    print(b)
    

    运行结果:

    51.285714285714285
    
    展开全文
  • 平时我们一般都是直接按照一定的规则,在sql查询返回结果的时候,就返回特定排列顺序的List结果。例如order by createtime desc; 这样的排序结果一般都是数据库中已有的字段的,比较好排序。 但是,有时候会有要求...
  • java8 stream流 将一个list转换成list

    千次阅读 2021-03-04 11:58:09
    List<String> stringList = new ArrayList<>(); stringList.add("a11"); stringList.add("b11"); stringList.add("c11"); stringList.add("d11"); stringList.add("e11"); ...
  • Android 渲染机制——Display List

    万次阅读 2020-12-09 13:58:27
    Display List Android 需要把 XML 布局文件转换成 GPU 能够识别并绘制的对象。这个操作是在 DisplayList 的帮助下完成的。DisplayList 持有所有将要交给 GPU 绘制到屏幕上的数据信息。 Display List 是什么? ...
  • Java中List的详细用法

    万次阅读 多人点赞 2018-09-11 16:36:43
    list中添加,获取,删除元素; list中是否包含某个元素; list中根据索引将元素数值改变(替换); list中查看(判断)元素的索引; 根据元素索引位置进行的判断; 利用list中索引位置重新生成一个新的list(截取...
  • 并发中的List集合

    千次阅读 2018-10-10 11:19:17
    实际开发中, 我们使用频率最高的容器估计是list集合,那肯定会遇并发操作.那该如何保证在多线程并发的环境下安全,高效的使用list集合呢?好,这就是今天我们聊话题:并发中的List集合. 家族体系 List: 有序集合(也...
  • C++list的使用总结及常用list操作

    万次阅读 多人点赞 2018-06-22 12:34:09
    一、List定义:List是stl实现的双向链表,与向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢。使用时需要添加头文件#include &lt;list&gt;二、List定义和初始化: list&lt;int&...
  • Groovy List 常用操作

    万次阅读 2019-06-15 15:40:27
    1:集合克隆 def list1 = ['a', 'b', 'c'] def list2 = list1.clone() 2:list遍历 a:使用each进行遍历 def list = [1, 2, 3] list.each { println "Item: $it" } it是是与当前元素对应的隐式参数 ...
  • /** * 用户信息业务逻辑类 * @author pan_junbiao **/ public class UserService { /** * 获取用户列表 */ public static List getUserList() { List userList = new ArrayList(); userList.add(new User(1, "pan_...
  • List<T> list对象去重方法总结

    万次阅读 2019-07-08 14:31:51
    List<T> list对象去重方法总结 【去重方法总结】:(java8) package com.caox.utils; import com.caox.model.UserInfo; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import ...
  • STL STD::list使用说明

    万次阅读 2018-06-14 14:07:34
    stl list使用说明 使用标准的std::list进行容器数据处理时,操作比较底层。我们可以,减少引用标准MFC标准库,减少系统的大小,但同时也存在有
  • list容器用法详解(超好用的list)-c++

    万次阅读 多人点赞 2018-10-16 10:45:47
    list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、删除操作都是快速...
  • Java中线程安全的List

    万次阅读 2019-09-29 13:45:36
    简单说一下java中线程安全的List 一、Vector Vector是大家熟知的线程安全的List集合,不过他的性能是最差,所有的方法都是加了synchronized来同步,从而保证线程安全。 源码也是使用数组来存储数据,有以下构造...
  • Java List的remove()方法陷阱以及性能优化

    万次阅读 多人点赞 2019-05-25 17:55:02
    Java List在进行remove()方法是通常容易踩坑,主要有一下几点 循环时:问题在于,删除某个元素后,因为删除元素后,后面的元素都往前移动了一位,而你的索引+1,所以实际访问的元素相对于删除的元素中间间隔了一位...
  • Python列表(list)的相关操作及方法

    万次阅读 多人点赞 2019-06-13 21:07:42
    Python列表(list)的相关操作及方法 一、list列表 1.概述: 本质:list列表的本质是一种有序的集合 2.创建列表 语法: 列表名 = [元素1,元素2,元素3…] 说明:列表中的选项被称为元素,跟string类似,下标也是...
  • C ++ list 用法整理(官网例子)

    万次阅读 多人点赞 2018-12-09 00:28:37
    因为最近一直在用 C++ 的 list,搜到的那个最高访问的 CSDN 博文写的不够简洁。而官网上的一些例子有些细节没涉及到,得自己再复制下来跑一遍才能搞明白。于是便萌生了写这篇博文的念头,方便自己以后查阅。 本文的...
  • Python语法学习记录(5):LIST 用法

    万次阅读 2019-05-27 00:00:21
    #列表初始化及打印 print("===="*5,"列表初始化及打印:") list1 = ['ele1','ele2','ele3'] ...print("list1[1]:",list1[1])# 小标,角标,索引 0 1 2 print("list1[-1]:",list1[-1])#从右边往左数1个元素下标是-1 p...
  • Kotlin对list的操作

    万次阅读 2018-11-15 14:32:49
    涉及到的代码在KotlinForJava的Kotlin1项目中,针对集合List和MutableList的操作进行测试,参考的是Kotlin中文学习资料,前面给出的文章中能找到相应的资源链接。 学习的同时通过编码练习是很有必要的,除了加深...
  • kotlin中的List集合类

    万次阅读 2018-02-09 14:30:07
    Kotlin的集合分类: 可变集合类(Mutable) ...集合类型主要有List(列表),Set(集),Map(映射)。 kotlin中List与Java一样都是实现了Collection接口,源码如下: public interface List&amp;lt...
  • 在上一篇我们介绍了list_head;并定义了结构体节点,如何把该类型的结构体节点串成一个链表呢?1、必须专门定义一个链表头,并初始化:struct list_head ListHead; INIT_LIST_HEAD(&amp;ListHead);其中INIT_LIST...
  • std::List使用总结

    万次阅读 2018-10-13 14:52:18
    List  List使用一个doubly linked list(双向串列)管理元素,按惯例,C++标准库并未明定实现方式,只是遵守list的名称、限制和规格。  使用list时必须先包含头文件 #include&amp;amp;amp;lt;list&amp;...
  • java中List元素移除元素的那些坑

    万次阅读 2019-07-20 09:18:00
    本文主要介绍,java中list集合移除元素的那些坑,今天小编就和大家一起来了解一下吧!一、问题案例1.1、for循环移除public static void main...
  • list按照指定元素个数(n)分割 /** * @param source * @param n 每次分割的个数 * @return java.util.List&lt;java.util.List &lt; T&gt;&gt; * @Title: 将list按照指定元素个数(n)分割 * @...
  • List<Integer> collect = IntStream.range(1, 10).boxed().collect(Collectors.toList()); List<Integer> collect1 = IntStream.range(10, 20).boxed().collect(Collectors.toList()); List<List&...
  • linux list_head 理解

    万次阅读 2018-02-23 11:24:07
    在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head。虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作list_head 的通用接口很容易实现代码...
  • STL中list的使用

    万次阅读 多人点赞 2018-08-15 09:11:20
    list的底层结构 list底层是一个带头节点的双向循环链表,任意位置插入和删除时间复杂度0(1) list迭代器 由于list底层是带头节点的双向循环链表,因此list的迭代器需要list的实现者自己提供 迭代器怎么实现呢?...
  • C++ list用法详解

    万次阅读 多人点赞 2018-03-28 21:23:35
    list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、删除操作...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,207,393
精华内容 2,482,957
关键字:

list