精华内容
下载资源
问答
  • 删除列表元素的几个方法

    千次阅读 2020-11-21 19:03:48
    1.remove: 删除单个元素,删除首个符合条件的元素,按值删除 举例说明: >>> str=[1,2,3,4,5,2,6] >>> str.remove(2) >>> str [1, 3, 4, 5, 2, 6] 2.pop: 删除单个或多个元素,按位删除...

    1.remove: 删除单个元素,删除首个符合条件的元素,按值删除
    举例说明:

    >>> str=[1,2,3,4,5,2,6]
    >>> str.remove(2)
    >>> str
    [1, 3, 4, 5, 2, 6]
    

    2.pop: 删除单个或多个元素,按位删除(根据索引删除)

    >>> str=[0,1,2,3,4,5,6]
    >>> str.pop(1) #pop删除时会返回被删除的元素
    1
    >>> str
    [0, 2, 3, 4, 5, 6]
    >>> str2=['abc','bcd','dce']
    >>> str2.pop(2)
    'dce'
    >>> str2
    ['abc', 'bcd']
    

    3.del:它是根据索引(元素所在位置)来删除
    举例说明:

    >>> str=[1,2,3,4,5,2,6]
    >>> del str[1]
    >>> str
    [1, 3, 4, 5, 2, 6]
    >>> str2=['abc','bcd','dce']
    >>> del str2[1]
    >>> str2
    ['abc', 'dce']
    

    除此之外,del还可以删除指定范围内的值。

    >>> str=[0,1,2,3,4,5,6]
    >>> del str[2:4] #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素)
    >>> str
    [0, 1, 4, 5, 6]
    

    del 也可以删除整个数据对象(列表、集合等)

    >>> str=[0,1,2,3,4,5,6]
    >>> del str
    >>> str #删除后,找不到对象
    >Traceback (most recent call last):
    File "<pyshell#27>", line 1, in <module>
    str
    NameError: name 'str' is not defined
    

    注意:del是删除引用(变量)而不是删除对象(数据),对象由自动垃圾回收机制(GC)删除。

    补充: 删除元素的变相方法

    s1=(1,2,3,4,5,6)
    s2=(2,3,5)
    s3=[]
    for i in s1:
    if i not in s2:
    s3.append(i)
    print 's1-1:',s1
    s1=s3
    print 's2:',s2
    print 's3:',s3
    print 's1-2:',s1
    

    特别说明:

    a=[1,3,5]
    b=a
    c=a
    a.pop(1)
    print(a,b,c)
    

    当列表绑定到变量上的时候,在删除原列表元素的时候,列表所绑定的其它变量,也会跟着 一起变动

    输出==》[1, 5] [1, 5] [1, 5]

    注:文章转载自https://www.cnblogs.com/Skyda/p/9435792.html,本文主要用来学习,如需要删除,请联系我

    展开全文
  • 系列文章目录 第一章:React从入门到进阶之初识React 第一章:React从入门到进阶之JSX简介 第三章:React从入门到进阶之元素渲染 第四章:React从入门到...文章目录系列文章目录一、列表元素的渲染二、列表组件的封装三

    系列文章目录

    第一章:React从入门到进阶之初识React
    第一章:React从入门到进阶之JSX简介
    第三章:React从入门到进阶之元素渲染
    第四章:React从入门到进阶之JSX虚拟DOM渲染为真实DOM的原理和步骤
    第五章:React从入门到进阶之组件化开发及Props属性传值
    第六章:React从入门到进阶之state及组件的生命周期
    第七章:React从入门到进阶之React事件处理
    第八章:React从入门到进阶之React条件渲染
    第九章:React从入门到进阶之React中的列表与key

    一、列表元素的渲染

    • 在日常开发中,难免会遇到页面需要展示列表的需求,不管是只有一列还是多列数据,都是一堆结构相同内容不同的数据。在传统的html中有table元素可以显示多列表格,有ul>li可以显示多行单列的列表数据。
    • 在真实项目中,我们前端页面上所展示的数据都是来key源于我们的后端,后端会为我们提供一些API,然后这些API返回的结果通常就是存有多条业务数据的数组,然后我们再利用JavaScript代码通过循环将数组中的数据处理后与html元素结合,渲染到页面上最终呈现给用户
    • 那么在React中,把数组转换为元素列表的过程与JavaScript是一样的,我们也可以通过JavaScript代码与JSX标签相结合来渲染数据列表
    • 在React中我们可以通过使用{}在JSX内构建一个元素集合
    • 我们可以利用JavaScript中数组的map方法来遍历数组,并将数组中的每个元素与JSX的li标签结合,最后渲染到页面上

    假如后端给我们返回来一个人员名单数组,要求我们把数组中的人名全部以列表的形式展示在页面上,下面我们就来实现一下这个需求

    //我们定义一个userList来模拟后台返回的数据
    const userList = ["Alvin","Yinnes","Shenhuinan","Louyaqian","Yaolu","Yuyueping"];
    const listItems = userList.map(user => {
    	return <li>{user}</li>
    });
    	
    ReactDOM.render(
    	<ul>{ listItems }<ul/>,
    	document.getElementById('root')
    );
    

    二、列表组件的封装

    上述代码运行完后,就会在页面上展示出所有人的名字了
    但是在真实项目开发中,我们不可能直接把代码随意写成这样,一般我们都会把不同的业务逻辑封装成组件,这样既便于维护也方便复用
    接下来我们就把上面的代码封装成一个独立的组件UserList

    function UserList(props){
    	const users = props.users; 
    	const listItems = users.map(user => {
    		return <li>{user}</li>
    	});
    	return <ul>{listItems}</ul>;
    }
    
    //我们定义一个userList来模拟后台返回的数据
    const userList = ["Alvin","Yinnes","Shenhuinan","Louyaqian","Yaolu","Yuyueping"];
    ReactDOM.render(
    	<UserList users={userList} />,
    	document.getElementById('root')
    );
    

    这样我们就简单的实现了一个列表组件了
    但是当我们运行这段代码时,会发现控制台中会弹出一堆的警告信息:a key should be provided for list items,意思就是:我们应该为每个列表项提供一个key,也就是说当我们创建一个元素时,必须要包括一个特殊的key属性,关于key的更多信息,我们将会在详细介绍。
    我们先把当前这个例子中的每个li加上这个特殊的key属性解决warning问题

    function UserList(props){
    	const users = props.users; 
    	const listItems = users.map((user,index) => {
    		return <li key={user+index}>{user}</li>//我们把用户名加上当前用户在数组中的索引作为key给li
    	});
    	return <ul>{listItems}</ul>;
    }
    
    //我们定义一个userList来模拟后台返回的数据
    const userList = ["Alvin","Yinnes","Shenhuinan","Louyaqian","Yaolu","Yuyueping"];
    ReactDOM.render(
    	<UserList users={userList} />,
    	document.getElementById('root')
    );
    

    这样就不会再报warning了
    接下来我们再来看一下这个key是干嘛用的,为什么要加上一个key属性呢?

    三、元素的key属性

    那么key是什么,为什么要使用key呢

    • 当页面元素发生变化时,key可以帮助React识别哪些元素改变了,比如添加或者删除。
    • 另外,当React在进行新旧DOM元素对比时,也会利用元素的key属性来进行匹配对比,这样会大大提高渲染效率
    • 因此我们应该给列表中的每个元素赋予一个确定的标识
      • 一个元素的key最好是这个元素在列表中独一无二的字符,也就是说key的值应该是唯一的。一般情况下,我们使用数据的id来作为元素的key值
      • 当元素没有确定的id的时候,万不得已的情况下可以使用元素的索引来作为key(墙裂不推荐),因为这样做可能会导致性能变差,甚至还会引起组件的状态问题

    下面来看两段设置key的代码示例

    • 利用数据的id作为属性key值
    const userList = [{id:1, name:"Alvin"},{id:2, name:"Yinnes"},{id:3, name:"Shenhuinan"},{id:4, name:"Louyaqian"},{id:5, name:"Yaolu"},{id:6, name:"Yuyueping"}];
    const listItems = userList.map(user => {
    	return <li key={user.id}>{user.name}</li>
    });
    
    • 利用索引作为key属性
    const userList = ["Alvin","Yinnes","Shenhuinan","Louyaqian","Yaolu","Yuyueping"];
    const listItems = userList.map((user,index) => {
    	return <li key={index}>{user}</li>
    });
    

    四、设置key属性的一般原则

    元素的 key 只有放在就近的数组上下文中才有意义。比如说,如果你提取出一个 ListItem 组件,你应该把 key 保留在数组中的这个 < ListItem /> 元素上,而不是放在 ListItem 组件中的 < li> 元素上。

    • 例子:不正确的使用 key 的方式
    function ListItem(props) {
      const value = props.value;
      return (
        // 错误!你不需要在这里指定 key:
        <li key={value.toString()}>
          {value}
        </li>
      );
    }
    
    function NumberList(props) {
      const numbers = props.numbers;
      const listItems = numbers.map((number) =>
        // 错误!元素的 key 应该在这里指定:
        <ListItem value={number} />
      );
      return (
        <ul>
          {listItems}
        </ul>
      );
    }
    
    const numbers = [1, 2, 3, 4, 5];
    ReactDOM.render(
      <NumberList numbers={numbers} />,
      document.getElementById('root')
    );
    
    • 例子:正确的使用 key 的方式
    function ListItem(props) {
      // 正确!这里不需要指定 key:
      return <li>{props.value}</li>;
    }
    
    function NumberList(props) {
      const numbers = props.numbers;
      const listItems = numbers.map((number) =>
        // 正确!key 应该在数组的上下文中被指定
        <ListItem key={number.toString()} value={number} />
    
      );
      return (
        <ul>
          {listItems}
        </ul>
      );
    }
    
    const numbers = [1, 2, 3, 4, 5];
    ReactDOM.render(
      <NumberList numbers={numbers} />,
      document.getElementById('root')
    );
    

    总结:一般情况,一个好的经验法则是:需要循环输出的元素需要设置key属性,也就是说应该给循环中的元素添加key属性,比如在上面的例子中,我们应该给map方法中的元素设置key属性

    五、key 只是在兄弟节点之间必须唯一

    数组元素中使用的 key 在其兄弟节点之间应该是独一无二的。然而,它们不需要是全局唯一的。当我们生成两个不同的数组时,我们可以使用相同的 key 值

    function Blog(props) {
      const sidebar = (
        <ul>
          {props.posts.map((post) =>
            <li key={post.id}>
              {post.title}
            </li>
          )}
        </ul>
      );
      const content = props.posts.map((post) =>
        <div key={post.id}>
          <h3>{post.title}</h3>
          <p>{post.content}</p>
        </div>
      );
      return (
        <div>
          {sidebar}
          <hr />
          {content}
        </div>
      );
    }
    
    const posts = [
      {id: 1, title: 'Hello World', content: 'Welcome to learning React!'},
      {id: 2, title: 'Installation', content: 'You can install React from npm.'}
    ];
    ReactDOM.render(
      <Blog posts={posts} />,
      document.getElementById('root')
    );
    

    key 会传递信息给 React ,但不会传递给我们的组件。如果我们想要在组件中使用 key 属性的值,那么需要用其他属性名(非key)显式传递这个值。比如在下面的代码中,我们可以通过props获取到Post组件的id和title属性,但是无法获取到key属性。

    const content = posts.map((post) =>
      <Post
        key={post.id}//无法通过props获取
        id={post.id}//可以通过props获取
        title={post.title} />//可以通过props获取
    );
    

    六、在JSX中使用map()

    上面的例子中我们都是把map和JSX元素单独分开写的,实际上还可以在{}中使用map函数,因为JSX允许在大括号中嵌入任何表达式,如下代码:

    function NumberList(props) {
      const numbers = props.numbers;
      return (
        <ul>
          {numbers.map((number) =>
            <ListItem key={number.toString()}
                      value={number} />
          )}
        </ul>
      );
    }
    

    关于列表元素和key的使用就介绍到这里
    下一章节我们将介绍一下React中的表单以及受控组件和非受控组件

    展开全文
  • 一、列表元素的追加和插入 append():追加一个元素到列表 extend():列表拉伸,追加多个元素到列表 insert():在指定索引处插入元素 二、列表元素的删除 pop(a):弹出列表中索引为a的元素,默认为列表最后一...

    一、列表元素的追加和插入
    append():追加一个元素到列表
    在这里插入图片描述
    extend():列表拉伸,追加多个元素到列表
    在这里插入图片描述
    insert():在指定索引处插入元素
    在这里插入图片描述
    二、列表元素的删除
    pop(a):弹出列表中索引为a的元素,默认为列表最后一个元素
    pop()弹出的值可用变量接收
    在这里插入图片描述
    在这里插入图片描述
    remove():删除列表元素
    在这里插入图片描述
    del :从内存种删除一个元素
    在这里插入图片描述

    三、列表元素的重新赋值
    1、通过索引,重新赋值
    在这里插入图片描述

    2、通过切片赋值
    在这里插入图片描述

    四、列表元素的排序
    x.sort() #列表排序,默认按照ascii排序
    x.sort(reverse=True) 反向排序,由大到小

    注意:sort()函数对列表排序,是在原有列表上进行操作的,改变原有列表,不能保证原有列表完整性
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    另一种获取已排序的列表副本的方法是使用sorted函数

    print (sorted(‘Python’)) #[‘P’, ‘h’, ‘n’, ‘o’, ‘t’, ‘y’]
    在这里插入图片描述
    五、列表元素拷贝
    y = x[:] 通过分片操作将列表x的元素全部拷贝给y
    在这里插入图片描述
    如果简单的把x赋值给y:y = x,y和x还是指向同一个列表,产生了一个引用,并没有产生新的副本。
    在这里插入图片描述
    五、例题
    1、有一个列表,其中包括 10 个元素,
    例如这个列表是[1,2,3,4,5,6,7,8,9,0],
    要求将列表中的每个元素一次向前移动一个位置,
    第一个元素到列表的最后,然后输出这个列表。
    最终样式是[2,3,4,5,6,7,8,9,0,1]
    代码:
    在这里插入图片描述结果:
    在这里插入图片描述
    2、按照下面的要求实现对列表的操作:
    产生一个列表,其中有 40 个元素,每个元素是 50 到 100 的一个随机整数
    如果这个列表中的数据代表着某个班级 40 人的分数,请计算成绩低于平均分的学生人数
    对上面的列表元素从大到小排序并输出li.sort(reverse=True)
    代码:
    在这里插入图片描述结果:
    在这里插入图片描述

    展开全文
  • 列表元素逆序的3种方法[Python]

    千次阅读 2020-03-20 15:43:21
    第一种方式 list.reverse() Python的list.reverse()方法,会直接在原来的列表里面将元素进行逆序排列,不需要...step],表示取mylist的第start个(列表索引从0开始)到第end个元素(不包括第end个),其中每隔step个...

    第一种方式 list.reverse()

    Python的list.reverse()方法,会直接在原来的列表里面将元素进行逆序排列,不需要创建新的副本用于存储结果。在这里插入图片描述

    第二种方式 使用切片[::-1]

    Python的列表的切片特性,列表中切片的使用方法:mylist[start🔚step],表示取mylist的第start个(列表索引从0开始)到第end个元素(不包括第end个),其中每隔step个(默认1)取一个。
    当step为正数时,表示从正方向遍历。
    在这里插入图片描述
    当step为负数时,表示从方向遍历。
    在这里插入图片描述
    所以mylist[::-1]就能达到逆序的目的。
    相比第一种方式,这种方式会另外创建副本来保存列表的所有元素,所以需要更多的内存空间。

    第三种方式 使用reversed()方法

    reversed方法会将列表逆序的结果存储到迭代器里面,这种方式不会改变原来的列表,也不会创建原来列表的完整副本,只会多出迭代器对象所占用的空间,相对来说比较高效。
    在这里插入图片描述

    展开全文
  • 从左往右删除第一个符合条件的元素,返回值是None,()中填要删除的值 list1=[1,2,3,4,5,6,7,1,2,3,4,4] print(list1.remove(2)) #None print(list1) #[1, 3, 4, 5, 6, 7, 1, 2, 3, 4, 4] 2.pop 从左往右删除第...
  • # -*- coding:utf-8 -*- list_a = [1, 2, 3, 4, 4, 5, 7, 8, 9, 0] list_b = [1, 3, 5, 7, 7, 9, ...# 求两个集合都出现的元素(利用set) intersection_list = list(set(list_a).intersection(set(list_b))) print...
  • python 之 列表修改元素 || 切片

    千次阅读 2019-02-27 15:57:53
    但如果指定了 step 参数,则要求所赋值的列表元素个数与所替换的列表元素个数相等 >>> c_list = list(range(1, 10)) >>> c_list[2: 9: 2] = ['a', 'b', 'c', 'd'] >>> print(c_list) [1, 2, 'a', 4, 'b', 6, 'c...
  • 列表中有重复元素时 support=[2.0, 2.0, 3.0, 1.0, 1.0] for i in support: print(support.index(i)) 输出: 0 0 2 3 3 此处用enumerate方法,将列表中的元素元组化 print(list(enumerate(support))) 输出 ...
  • html 行级元素和块级元素标签列表

    万次阅读 多人点赞 2019-06-02 21:48:49
    一、显示元素 (一)块级元素 div、p、h1-h6、form、ul、ol、dl、dt、dd、li、table、tr、td、th、hr、blockquote、address、table、menu、pre HTML5:header、section、article、footer等 块级元素独占一行,当...
  • 现有一个电影的数据:包括电影的名称、电影上映的年限、导演等信息,分别存放于三个列表中,现在需要将这数据整合到一个数据中,可以使用列表的循环+insert()的API方法来操作,实现代码如下: # -*- coding: utf-8...
  • 1. 创建列表a = [1,2,3,4,5,6,8,0] #列表元素是整数值 b = ['合肥工业大学', '在', '屯溪路', '193', '号', ',', '李勇', '在', '这里', '上', '大学'] #列表元素是字符串 c = [] #创建空列表 d = ['合肥工业大学',...
  • list1 = [1, 2, 3, 4] list2 = [1, 2, 3] no_exist = [False for a in list2 if a not in list1] if no_exist: print('list2 not exist list1') else: print('list2 exist list1')  
  • 列表(修改、添加和删除元素)

    千次阅读 2020-02-10 17:28:13
    列表由一系列特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。 #在Python中,用方括号来表示列表,并用...
  • 在python列表中查找某个元素的索引

    万次阅读 2020-03-19 09:38:52
    但是如果a中有多个76元素,这种方法仅仅能获取都第一个匹配的value的下标索引。 2、方法二:利用enumerate函数。 代码如下: 运行结果: 扩展资料: python通过索引的操作(Python包含6种内建序列:列表、....
  • 序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度 以及确定最大和最小的元素的方法 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表的...
  • 有一个借款待还信息列表,其中每一个借款合同包括:本金、手续费; 现在欲将 所有的本金求和、所有的手续费求和。 我们可以使用java8中的函数式编程,获取list的流,再利用reduce遍历递减方式将同属性(本金、手续...
  • 问题很简单直接看实现: #!usr/bin/env python ...功能:给定一个列表和数字,在列表找到和为该数字的元素返回下标 ''' def find_two_nums(num_list,one_num): ''' 求特定和 ''' for i in range(len(num_
  • 要比较两个列表list_A、list_B,以便创建一个新列表,新列表中存储list_B元素没有出现在list_A中的内容。例如: new_list=[] list_A=["a", "b", "c", "d", "e"] list_B=["b", "d", "f", "m"] 结果应该是: ...
  • 查阅资料后发现list的浅拷贝问题,二维列表里面保存的是一维列表的地址,我这样赋值是把第一个[3]*3也就是[3,3,3]的地址复制了四遍,这个二位列表看似有了四个一维的[3,3,3],但是其实它们在内存里都是指向一个对象...
  • test.py: # -*- coding: utf-8 -*- a = [1, 2, 3] b = [1, 2] d = [False for c in b if c not in a] if d: print('b not in a') else: print('b in a')
  • Python按条件删除嵌套列表中的元素

    千次阅读 2018-09-29 11:33:07
    今日在做深度学习过程中,数据采集的时候,因为粗心...思路:(1)for循环遍历,找出符合条件的元素,并将元素赋值成不会出现的数据,并做好count计数  (2)再建立一个新的循环,在count中调用remove()函数 b=l...
  • Python列表的切片操作与元素访问详解

    万次阅读 多人点赞 2018-11-23 22:54:10
    看似很简单,其实门道很多,而且随着所学的序列越来越多后,比如字符串、列表、元组、字典、一维数组、多维数组、Series、DataFrame,渐渐的脑子就会混乱,所以打算梳理一下。方便之后自己查找。 其他序列可以参看...
  • python中关于删除列表中的某个元素

    千次阅读 2018-08-12 20:38:21
    1.remove: 删除单个元素,删除首个符合条件的元素,按值删除 举例说明: &gt;&gt;&gt; str=[1,2,3,4,5,2,6] &gt;&gt;&gt; str.remove(2) &gt;&gt;&gt; str [1, 3, 4, 5, 2, 6] ...
  • Python列表

    千次阅读 多人点赞 2020-03-13 01:22:37
    访问列表元素3. 遍历列表4. 添加、修改和删除列表元素5. 对列表进行统计和计算6. 对列表进行排序7. 列表推导式8. 二维列表的使用 1. 列表的创建和删除 对于歌曲列表相信大家一定很熟悉,在列表中记录着要播放的歌曲...
  • Python-webdriver 怎么定位下拉列表中的元素呢 如果是 select > option*x 结构的话,一般有以下几种做法: 1,定位父元素select(下面语句中的id=aaa),然后通过tag name找到所有option,得到option元素的数组,...
  • 实现js点击下拉列表按钮,显示,点击其他地方(包括下拉按钮)隐藏下拉列表: <!DOCTYPE html> ; charset=utf-8" /> 无标题文档 #pop { border: #000; background-color: #CCC; position: absolute;...
  • 笔者小白在日常中遇到了需要对list列表中的元素去重的情况,根据相关资料整理,现将python中的一些方法归纳如下: 1、遍历 先建立一个新的空列表,通过遍历原来的列表,再利用逻辑关系not in 来去重。 这样可以做...
  • QML元素

    千次阅读 2012-08-30 14:09:30
    这是Qt Quick子部分的QML元素的功能分组列表. These are the functionally grouped lists of QML elements as part of Qt Quick. 声明元素时要带有名称和两个花括号.元素可能被嵌入到其他元素中,从而在两个元素间...
  • c# 判断一个字符串列表中是否已经包括指定字符方法
  • select task_id, task_code, task_version, case when array_contains(collect_set(tag_id), 599) or array_contains(collect_set(tag_id), 1225) then 'L1-级别' when array_contains(collect_set(tag_id),...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 424,953
精华内容 169,981
关键字:

列表元素包括什么