python笔记(3)---列表
lst = ["bob","jack","马云","马化腾","王健林"] del lst[1:3] print(lst)
一、列表索引和切片
lst = ["移动硬盘", "手机", 110, True, False, ["人民币", "美金", '欧元']] lst = ["海上钢琴师", "奥特曼", "咒怨", "舌尖上的中国", "穹顶之下", "金刚"] print(lst[3][2]) # 上
print(lst[-2]) # 穹顶之下
print(lst[1:4]) # ['奥特曼', '咒怨', '舌尖上的中国']
print(lst[-3:-1]) # 顾头不顾尾
print(lst[1::2])
print(lst[-1:-5:-2])
二、列表增加
2.1 append
lst = ["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚"] 在屁股后面添加
lst.append("黄宏") # 在原有的基础上进行的操作
2.2 insert
# 在xxx位置插入xxxx内容
lst = ["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚"] lst.insert(1,"王力宏") print(lst) ["赵四","王力宏","施瓦星格", "黄渤", "郭达森", "赛利亚"]
2.3 extend
# 迭代添加
lst = ["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚"]
lst.extend("麻花藤")
print(lst)
["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚","麻","花","藤"]
lst = ["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚"]
lst.extend(["麻花藤", "马云"])
print(lst)
["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚","麻花藤", "马云"]
2.4 如果对列表中空的 slice 赋值,就变成了为列表插入元素
# 将第3个到第3个(不包含)元素赋值为新列表的元素,就是插入
b_list[2: 2] = ['x', 'y']
print(b_list)
# [1, 'a', 'x', 'y', 'b', 4]
三、列表删除
3.1 pop()
# 根据索引删除元素
lst = ["bob","jack","马云"]
data = lst.pop() #pop()不加索引,默认删除末尾元素,并返回被删除的数据
print(data)
"马云"
print(lst)
["bob","jack"]
3.2 remove()
lst = ["bob","jack","马云"]
lst.remove("bob") # 删除元素.
lst.remove("刘能") # 如果不存在会报错
3.3 del
# 切片删除
lst = ["bob","jack","马云","马化腾","王健林"]
del lst[1:3]
print(lst)
["bob","马化腾","王健林"]
3.4 如果将列表其中一段赋值为空列表,就变成了从列表中删除元素
# 将第3个到第6个(不包含)元素赋值为空列表,就是删除
b_list[2: 5] = []
print(b_list) # [1, 'a', 4]
四、列表修改
4.1 对元素赋值
a_list = [2, 4, -3.4, 'crazyit', 23]
# 对第3个元素赋值
a_list[2] = 'fkit'
print(a_list)
# [2, 4, 'fkit', 'crazyit', 23]
4.2 对列表中间一段赋值
b_list = list(range(1, 5))
print(b_list)
# 将第2个到第4个(不包含)元素赋值为新列表的元素
b_list[1: 3] = ['a', 'b']
print(b_list)
# [1, 'a', 'b', 4]
4.3 使用字符串赋值,Python 会自动把字符串当成序列处理,其中每个字符都是一个元素。
# Python会自动将str分解成序列 b_list = list(range(1, 5)) b_list[1: 3] = 'Charlie'
print(b_list) # [1, 'C', 'h', 'a', 'r', 'l', 'i', 'e']
4.4 在使用 slice 语法赋值时,也可指定 step 参数。但如果指定了 step 参数,则要求所赋值的列表元素个数与所替换的列表元素个数相等
c_list = list(range(1, 10))
# 指定step为2,被赋值的元素有4个,因此用于赋值的列表也必须有4个元素
c_list[2: 9: 2] = ['a', 'b', 'c', 'd']
print(c_list) # [1, 2, 'a', 4, 'b', 6, 'c', 8, 'd']
五、列表常用方法
5.1 count()
# 统计元素出现的次数
a_list = [2, 30, 'a', [5, 30], 30]
# 计算列表中30的出现次数
print(a_list.count(30))
# 计算列表中[5, 30]的出现次数
print(a_list.count([5, 30]))
5.2 index()
# 查找元素的index
a_list = [2, 30, 'a', 'b', 'crazyit', 30]
# 定位元素30的出现位置
print(a_list.index(30))
# 从索引2处开始、定位元素30的出现位置
print(a_list.index(30, 2))
# 从索引2处到索引4处之间定位元素30的出现位置,因为找不到该元素,会引发 ValueError 错误
print(a_list.index(30, 2, 4))
运行结果为:
1
5
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 7, in <module>
print(a_list.index(30, 2, 4)) # ValueError
ValueError: 30 is not in list
5.3 reverse()
# reverse() 方法会将列表中所有元素反向存放
a_list = list(range(1, 8))
# 将a_list列表元素反转
a_list.reverse()
print(a_list)
运行结果为:
[7, 6, 5, 4, 3, 2, 1]
5.4 sort()
# sort() 方法用于对列表元素进行排序
语法结构:
listname.sort(key=None, reserse=False)
- key 参数用于指定从每个元素中提取一个用于比较的键。例如,使用此方法时设置 key=str.lower 表示在排序时不区分字母大小写。
- reverse 参数用于设置是否需要反转排序,默认 False 表示从小到大排序;如果将该参数设为 True,将会改为从大到小排序。
例如如下代码:
a_list = [3, 4, -2, -30, 14, 9.3, 3.4]
# 对列表元素排序
a_list.sort() print(a_list) b_list = ['Python', 'Swift', 'Ruby', 'Go', 'Kotlin', 'Erlang'] # 对列表元素排序:默认按字符串包含的字符的编码大小比较 b_list.sort() print(b_list) # ['Erlang', 'Go', 'Kotlin', 'Python', 'Ruby', 'Swift']
运行结果为:
[-30, -2, 3, 3.4, 4, 9.3, 14]
['Erlang', 'Go', 'Kotlin', 'Python', 'Ruby', 'Swift']
如下代码示范了 key 和 reverse 参数的用法:
b_list = ['Python', 'Swift', 'Ruby', 'Go', 'Kotlin', 'Erlang'] # 指定key为len,指定使用len函数对集合元素生成比较的键,也就是按字符串的长度比较大小 b_list.sort(key=len) print(b_list) # 指定反向排序 b_list.sort(key=len, reverse=True) print(b_list)
运行结果为:
['Go', 'Ruby', 'Swift', 'Python', 'Kotlin', 'Erlang']
['Python', 'Kotlin', 'Erlang', 'Swift', 'Ruby', 'Go']
上面两次排序时都将 key 参数指定为 len,这意味着程序将会使用 len() 函数对集合元素生成比较大小的键,即根据集合元素的字符串长度比较大小。
注意,采用 sort() 方法对列表进行排序时,对中文支持不好,其排序结果与常用的音序排序法或者笔画排序法都不一致,因此,如果需要实现对中文内容的列表排序,还需要重新编写相应的方法进行处理,而不能直接使用 sort() 方法。
python笔记(3)---列表的更多相关文章
- python笔记之列表与元组函数和方法使用举例
在学习列表之前先了解了raw_input和input的区别:(仅适用于版本2,版本3中raw_input和input合并,没有raw_input) input的语法为:input("str& ...
- python笔记-list列表的方法
#!usr/bin/python # -*- coding: utf-8 -*- # 存储5个人的年龄,求他们的平均年龄 age1 = 18 age2 = 15 age3 = 38 age4 = 20 ...
- python笔记之列表
python中列表使用list类. 创建一个列表:list1 = [1,2,3,4]使用逗号隔开每个元素,使用方括号包含起来,创建空列表直接使用list2 = [] #!/usr/bin/env py ...
- 第二周Python笔记 数据类型 列表 字典
列表,拉锁式儿合并. [ [a,b] for a,b in zip(list1,list2)] #最笨的 a=[1,2,3,4,5] b=[2,3,4,5,6] d=[] for i in range ...
- python学习笔记整理——列表
Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...
- Python编程从入门到实践笔记——操作列表
Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...
- Python笔记——基本数据结构:列表、元组及字典
转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx Python基本数据结构:列表,元组及字典 一.列表 一组有序项 ...
- python笔记(1)--序列(列表 元组 range)
一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...
- Python 学习笔记(1)Python容器:列表、元组、字典与集合
Python容器:列表.元组.字典与集合 列表: 1.列表 的创建 使用[ ] 或者 list()创建列表:empty_list = [ ] 或者 empty_list= list() 使用list( ...
- 20.Python笔记之SqlAlchemy使用
Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...
随机推荐
- centos7 升级php版本
centos7 默认PHP5.4,版本太低,很多要求至少PHP5.5 1.查看已经安装的PHP组件 yum list installed| grep php php.x86_64 -.el7 @bas ...
- hdu 4511 (AC自动机)
注意标记一个点后,fail树上的子节点都会被标记 跑spfa,dp也可以 #include<iostream> #include<cstdio> #include<str ...
- 阶段3 1.Mybatis_09.Mybatis的多表操作_6 分析mybatis多对多的步骤并搭建环境
示例:用户和角色 一个用户可以有多个角色 一个角色可以赋予多个用户 步骤: 1.建立两张表:用户表,角色表 ...
- 阶段3 1.Mybatis_08.动态SQL_02.mybatis中动态sql语句-where标签的使用
这里的userSex是实体类里面的属性名,而不是数据库内的字段名称 一个老王改成性别女,为了区分一下 增加sex字段的查询 where标签 用上where和刚才的执行效果是一样的 where标签使我们 ...
- lgb参数及调参
1 参数含义 max_depth: 设置树的最大深度,默认为-1,即不限制最大深度,它用于限制过拟合 num_leave: 单颗树的叶子数目,默认为31 eval_metric: 评价指标,可以用lg ...
- codeforces 1186C Vus the Cossack and Strings
题目链接:https://codeforc.es/contest/1186/problem/C 题目大意:xxxxx(自认为讲不清.for instance) 例如:a="01100010& ...
- 【Python】我的第一个完整的小说爬虫
写在开头 纪念我的第一个爬虫程序,一共写了三个白天,其中有两个上午没有看,中途遇到了各种奇怪的问题,伴随着他们的解决,对于一些基本的操作也弄清楚了.果然,对于这些东西的最号的学习方式,就是在使用中学习 ...
- Windows.命令行(CMD)_执行命令&环境变量
1.CMD命令中如果 命令有换行的话,就使用 ^来连接(这就类似于 Linux命令行中 \ 的作用) 2.环境变量 2.1.显示 所有环境变量的值,命令:set 2.2.显示 某个环境变量的值,命令 ...
- 五、Zabbix-自动注册
一.Zabbix Serber 1.进入动作界面 配置—>动作—>事件源—>自动注册—>创建动作 2.配置自动注册动作 1.配置动作 2.配置操作 Next step 添加成功 ...
- c++ 十进制、十六进制和BCD的相互转换
#include <stdio.h> #include <string.h> #include <iostream> using namespace std; // ...