zoukankan      html  css  js  c++  java
  • python列表与集合,以及循环时的注意事项

    一、python列表

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

      1.1字符串转列表

    # list1 = [str(i) for i in "here"]
    # list2 = [str(i) for i in "hello"]

    简单的循环,却很有效,因为总不能写成‘h','e','r','e'吧

    1.2更新列表

    # list1 = [str(i) for i in "here"]
    # list3=[]
    list3.extend([list1[x]])#列表取元素

      1.3删除列表元素

      可以使用 del 语句来删除列表的元素

    # list1=[1,2,3,4]
    del list1[2]

    二、python集合(内置的符号操作这里不提及)

    • 集合的特点:
    • 具有唯一性
    • 不支持索引
    • 与字典相同,也是无序的

      2.1集合创建

    # s=set(['d','df','ser'])
    # print(s)

      2.2集合的添加元素

      #集合减去交集,返回新集合 -----add()用于set()集合类
    # s1=set('herea')
    # s2=set('hello')
    # s3=set()
    # for x in s1:
    #     if x not in s2:#集合减去交集,返回新集合 -----add()用于set()集合类
    #         s3.add(x)
    # print(s3)

      2.3删除集合元素

    #remove() #删除元素
    但是不是直接删除元素,而是删除集合的下标元素
    #s1.remove(1)

    三、增加删除元素时的踩雷区

      我们经常会用到循环去遍历集合或者列表,当找到所需条件元素时便会对其增加或删除(从某个列表或者集合中),这里便是雷区,错误及其不易察觉

      引用2.2的例子,将其修改成如下操作:

    # list1 = [str(i) for i in "here"]
    # list2 = [str(i) for i in "hello"]
    # for x in range(len(list1)):
    #     if list1[x] in list2:#列表删除元素,用不同时往空列表中加

    修改为存在,然后删除,看似莫得问题,但这里的循环语句
    len(list1),在你删除后会动态的变化,便会出现列表下表越界的情况
     # list1.remove(list1[x]) # print(list1)
    修改为存在,然后删除,看似莫得问题,但这里的循环语句len(list1),在你删除后会动态的变化,便会出现列表下表越界的情况


    **************************************希望能帮助到大家,解除相关疑惑*********************************************

     

  • 相关阅读:
    【tensorflow】神经网络的一些基本概念(前向传播、反向传播、损失函数、梯度下降法、学习率)和设计过程
    【opencv+python】图像的基本操作:缩放、剪切、位移、旋转、仿射变换
    【tensorflow】利用神经网络绘制股票价格拟合曲线
    Tuple
    2020-08-17T15:35:54.525+08:00
    FTP协议协议
    centos7常规系统指标监控shell脚本
    AWK传入shell变量举例
    洛谷-P5143 攀爬者
    洛谷-P1104 生日
  • 原文地址:https://www.cnblogs.com/cybg/p/11742158.html
Copyright © 2011-2022 走看看