一、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),在你删除后会动态的变化,便会出现列表下表越界的情况

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

python列表与集合,以及循环时的注意事项的更多相关文章

  1. Python列表、集合与字典(3)

    目录 一.列表 二.集合 三.字典 一.列表 1. 列表初识   列表的使用为处理特定顺序排列的数据提供了便利,列表元素可以是字母.数字或者其他信息,同时所加元素之间不存在任何关系.   在Pytho ...

  2. Python列表操作集合

    对于python列表里元素的操作主要分为以下几个方面: 1.向列表里面加元素: 向python列表里面添加元素主要有三种方法: (1)append() append()对于列表的操作主要实现的是在特定 ...

  3. python :列表 字典 集合 类 ----局部变量可以改全局变量

    #列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def ...

  4. python列表字符串集合常用方法

    1.1 列表常用方法 # 1. append 用于在列表末尾追加新的对象a = [1,2,3]a.append(4) # the result : [1,2,3,4]​# 2. count方法统计某个 ...

  5. forEach循环对集合进行循环时,需判断是否为null;

    分析forEach的源码会发现:foreach源码例子: public class Foreach { public static void main(String[] args) { List< ...

  6. python 列表,集合,字典,字符串的使用

    PY PY基础 append 在末尾添加元素 pop 删除末尾元素 insert(i,item)在i位插入元素 pop(i)删除i位元素 只有1个元素的tuple定义时必须加一个逗号,,来消除歧义 i ...

  7. python列表、集合、元祖、字典推导式

    a = [1, 2, 3, 4, 5, 6, 7, 8]l=[i**2 for i in a if i**2>=16] #列表推导式+if判断print(l)print(type(l)) b={ ...

  8. Python: 列表推导式--轻量级循环

    定义: 列表推导式(list comprehension)是利用其他列表创建新列表的一种方法,其工作方式类似于for循环,对列表进行过滤变种操作 eg1: >>> [x*x for ...

  9. python列表--查找集合中重复元素的个数

    方法一: >>> mylist = [1,2,2,2,2,3,3,3,4,4,4,4] >>> myset = set(mylist) >>> f ...

随机推荐

  1. C#Post提交解析XML文件

    protected string GetWebContent(string url)     {         Stream outstream = null;         Stream ins ...

  2. 【Sentinel】sentinel 集成 apollo 最佳实践

    [Sentinel]sentinel 集成 apollo 最佳实践 前言   在 sentinel 的控制台设置的规则信息默认都是存在内存当中的.所以无论你是重启了 sentinel 的客户端还是 s ...

  3. Apache Hadoop集群安装(NameNode HA + SPARK + 机架感知)

    1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 ).HA的集 ...

  4. Fliptile POJ-3279 DFS

    题目链接:Fliptile 题目大意 有一个01矩阵,每一次翻转(0->1或者1->0)一个元素,就会把与他相邻的四个元素也一起翻转.求翻转哪些元素能用最少的步骤,把矩阵变成0矩阵. 思路 ...

  5. Mysql高手系列 - 第20篇:异常捕获及处理详解(实战经验)

    Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 这是Mysql系列第20篇. 环境:mysql5.7.25,cmd命令中进行演示. 代码中被[]包含的表示可选,|符 ...

  6. js数组和表的基本操作

    数组 var v = [3, 6, "hello"]; console.log(v.length); 数组的遍历1 function ss() { for (var i = 0; ...

  7. TinyXML2的快速实践

    最近遇到个需要在C++中处理XML文件的需求,虽然对此方面并不是很熟,但好在有GitHub上的awesome-cpp项目的帮助,还是收获了足够的相关知识. 类库 常用的或被推荐的XML类库有以下数个选 ...

  8. C#中winform中panel重叠无法显示问题

    C#中winform中panel重叠无法显示问题: 最近开发一个项目有个需求是需要多个模式来回切换的,本来考虑使用多个窗口来实现这个功能,但是这样做浪费资源,而且工作量大,所以想到使用panel控件来 ...

  9. MySQL8安装及使用当中的一些注意事项

    前言 这两天构建新项目,在本地安装的mysql8(本地环境windows),期间忘了密码,又卸载重装了一番,然后捣鼓了一顿授权给别人访问,最后磕磕绊绊的搞好了,下面是在这过程中遇到的问题及解决办法小结 ...

  10. 利用C++实现模块隐藏(R3层断链)

    一.模块隐藏的实现原理 普通API查找模块实现思路:其通过查询在R3中的PEB(Process Environment Block 进程环境块)与TEB(Thread Environment Bloc ...