一, 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), 在你删除后会动态的变化, 便会出现列表下表越界的情况
来源: https://www.cnblogs.com/cybg/p/11742158.html