[TOC]
>[success] # list--列表
~~~
1.列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元
素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
2.列表也可以切片,对于切片理解可以看切片单独章节
~~~
>[danger] ##### 创建列表
~~~
test_list = ["周","吴","郑","王"]
name_lists =list("周吴郑王")
print(test_list)
print(name_lists)
打印结果:
['周', '吴', '郑', '王']
['周', '吴', '郑', '王']
~~~
>[danger] ##### append/ += -- 在列表末尾添加
~~~
1.使用+= 时注意,如果直接字符串添加,会将字符串拆解,推荐列表添加例
2.append 添加不会将可迭代对象拆开,也就是如果是列表或者字符串之类的会把一个整体保存进去
3.+=/
~~~
~~~
test_list = ["周","吴","郑","王"]
test_list.append("添加内容")
print(test_list)
test_list = ["周","吴","郑","王"]
test_list += ['添加内容']
print(test_list)
test_list = ["周","吴","郑","王"]
test_list += '添加内容'
print(test_list)
打印结果:
['周', '吴', '郑', '王', '添加内容']
['周', '吴', '郑', '王', '添加内容']
['周', '吴', '郑', '王', '添', '加', '内', '容']
~~~
>[danger] ##### insert -- 添加到指定位置
~~~
test_list = ["周","吴","郑","王"]
test_list.insert(2,'insert')
print(test_list)
打印结果:
['周', '吴', 'insert', '郑', '王']
~~~
>[danger] ##### extend -- 添加可迭代对象
~~~
test_list = ["周","吴","郑","王"]
test_list.extend(['n','s'])
print(test_list)
打印结果:
['周', '吴', '郑', '王', 'n', 's']
~~~
>[danger] ##### pop -- 根据位置删除列表元素
~~~
# 不填位置参数默认删除最后一个
test_list = ["周","吴","郑","王"]
test_list.pop()
print(test_list)
# 填写参数大于数组长度,会报错
test_list = ["周","吴","郑","王"]
test_list.pop(1)
print(test_list)
打印结果:
['周', '吴', '郑']
['周', '郑', '王']
~~~
>[danger] ##### remove -- 指定内容删除
~~~
# 不填和填写不存在都会报错
test_list = ["周","吴","郑","王"]
test_list.remove("周")
print(test_list)
打印结果:
['吴', '郑', '王']
~~~
>[danger] ##### clear -- 清空列表中的内容
~~~
test_list = ["周","吴","郑","王"]
test_list.clear()
print(test_list)
打印机结果:
[]
~~~
>[danger] ##### del -- 删除列表
~~~
test_list = ["周","吴","郑","王"]
del test_list
~~~
>[danger] ##### 切片/角标 -- 指定替换列表中内容
~~~
# 把切片指定内容去掉,把赋值内容进行迭代加入
test_list = ["周","吴","郑","王"]
test_list[0:3] = ["w","s"]
print(test_list)
打印结果:
['w', 's', '王']
test_list = ["周","吴","郑","王"]
test_list[0] = ["w","s"]
print(test_list)
打印结果:
[['w', 's'], '吴', '郑', '王']
~~~
>[danger] ##### index -- 查询特定值所在的位置
~~~
# 想查询列表中某个值的位置时用index()列
name_list = ["周","吴","郑","王"]
print(name_list.index("王"))
打印结果:
3
~~~
>[danger] ##### in -- 判断值是否存在
~~~
# 判断某个值是否存在列表中用in例:
name_list = ["周","吴","郑","王"]
print("王" in name_list)
打印结果
True
~~~
>[danger] ##### count -- 判断记录值出现的次数
~~~
# 当想判断列表中,一个值出现的次数的时候count例:
name_list = ["周","周","吴","郑","王"]
print(name_list.count("周"))
打印结果
2
~~~
>[danger] ##### join -- 将列表转换成字符串
~~~
# 我们想把列表中的内容,整理成字符串输出可以使用join例:
name_list = ["周","周","吴","郑","王"]
print(",".join(name_list))
打印结果:
周,周,吴,郑,王
~~~
>[danger] ##### sort -- 重新排列元素
~~~
# 当我们想吧列表中的元素,默认按照升序排列sort()列:
num_list = [5,7,3,6,2,9,4]
num_list.sort()
print(num_list)
打印结果:
[2, 3, 4, 5, 6, 7, 9]
降序排列可以使用num_list.sort(reverse=True),当然python也自带方法可以用来排序sorted(),其中sort不带返回值,sorted()带返回值
~~~
>[danger] ##### len -- 获取长度
~~~
# len -- 用来返回字符串,元组,列表等长度的例:
A = "ssss"
print(len(A))
打印结果:
4
~~~
>[danger] ##### reverse -- 反转
~~~
name_list = ["周","吴","郑","王"]
name_list.reverse()
print(name_list)
打印结果:
['王', '郑', '吴', '周']
~~~
- PYTHON-- 基础
- Python -- 变量、常量、注解
- 算数\比较\赋值\逻辑运算符
- Python -- input 控制台用户输入
- Python -- 流程控制/循环语句
- Python -- 切片
- Python -- 数据类型
- 基础数据类型
- int -- 数字类型
- str -- 字符类型
- bool -- 布尔类型
- list -- 列表
- type -- 元祖
- dict -- 字典
- set -- 集合
- Python -- 深浅copy
- Python -- 文件的读写
- Python -- 函数
- 函数 -- 做参数使用
- 函数 -- 闭包
- 函数 -- 生成器
- 函数 -- 列表推导式
- 案例
- 基础案例一
- 基础案例二
- 基础案例三
- COOKBOOK
- LIST、STR、DICT、TUPLE
- LIST - 列表方法总结
- 一、序列拆分成单独变量
- 二、* 妙用
- 三、deque- 双向队列
- 四、求找到最大或最小的N个元素
- 4.1 heapq-- 简单使用
- 五、去重并保持列表顺序不变
- 六、切片slice
- 七、counter 统计序列中元素次数
- 八、itemgetter 列表套着字典排序
- 九、处理大量的列表数据
- 十、随机事件处理列表
- DICT - 字典的总结方法
- 一、defaultdict 解决 KeyError
- 二、OrdereDict有序字典
- 三、zip 和 max/min 比较
- IDCT和LIST- 推导式
- 一、LIST 推导式
- 二、字典推到式
- TUPLE-元组
- 一、命名元组
- STR-字符串
- 一、常见的字符串方法
- 二、字符串拆分
- 三、字符串的位置匹配
- 四、字符串替换
- 五、正则大小写/换行匹配
- 六、对字节类型处理
- 数字、日期、时间处理
- 一、数字的处理
- 二、时间换算
- 2.1 时间运算
- 2.2计算某一时刻上周几的日期
- 2.2对时间转换格式优化
- 迭代器和生成器
- 一、iter 迭代器 使用案例
- 二、生成器 yeild
- 三、构建一个反向迭代方法
- 四、实现反正函数构造
- 五、迭代对象切片/跳过元素
- 六、迭代出所有的组合排列
- 七、索引-值迭代序列化
- 八、zip 同时迭代多个序列
- 九、同时循环多个可迭代对象
- 十、yield from 递归案例
- 十一、合并序列,并按顺序输出
- 十二、使用 iter 替代 while True
- 操作文件
- 一、处理文件路径
- 二、检测文件/获取文件信息
- 函数
- 一、函数基本案例使用
- 二、匿名函数
- 三、回调函数
- 四、闭包实现一个单个方法类
- 五、函数嵌套回调函数
- 类与对象
- 一、str/repr--让类字符串表示
- 二、format -- 格式化类的内容
- 三、with -- 上下文管理类
- 四、创建节省内存的类
- 五、将类里面方法变成属性
- 六、调用父类方法
- 七、扩展子类中的属性
- 八、创建新的类或者实类属性
- 九、简化数据结果,简化init
- 十、python 接口写法
- 十一、通过类属性创建委托访问
- 十二、__new__重新初始化init
- 十三、通过字符串调用类
- 元编程
- 一、装饰器
- 1.1 去掉装饰器修饰
- 1.2 可接受参数装饰器
- 1.3利用装饰器对函数参数类型检查
- 1.4编写类装饰器
- 1.5为类方法和静态方法加装饰器
- 1.6通过装饰器给装饰函数加参数
- 线程和进程