python定义一个函数列表排序_Python 列表(修改、添加、删除、排序)
Python的基本数据类型有整数,浮点数,布尔,字符串,它们是最基本的数据。在实际编程中,我们要经常组织由很多基本数据组成的集合,这些集合的不同组织方式就是:数据结构,今天讲的是数据结构中的Python list(列表)。数据结构就是一些数据组合得到的“复合”数据类型。
Python内置的数据结构有:
列表(list)
元组(tuple)
字典(dict)
集合(set)
在Python语言中,以上4种数据结构和基础数据类型(整数、浮点数等)统称为“内置类型”(Built-in Types)。
一、什么是列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
(1)创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
# 定义列表
name = [‘Tom‘,‘Jack‘,‘John‘]
pet = [‘cat‘,‘dog‘,‘bird‘]
# 打印列表
print(name)
print(pet)
(2)用索引访问列表元素
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
# 通过索引读取列表中的元素,索引从0开始,-1代表最后一个元素
print(name[0]) #查看列表中第一个
print(pet[2]) #查看列表中第二个
print(name[-1]) #查看列表中最后一个
print(pet[-2]) #查看列表中倒数第二个
print (name[0:2]) #查看索引2之前的元素
二、基本操作
1、通过素引获取元素,进行修改
#修改列表的元素
name[1] = ‘Sean‘ #修改name列表,索引1的内容为Sean
print(name) #打印列表
2、 向列表里面加元素
向python列表里面添加元素主要有三种方法:
(1)append()
append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后;
name.append(元素A)
# 在列表末尾添加新元素
name.append(‘Bob‘)
print(name)
(2)extend()
extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;
? name.extend([元素A,元素B,……])
name.extend([‘Xgp‘,‘Wsd‘])
print(name)
(3)insert()
insert()对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。
? pet.insert(A,元素B):表示在列表m里面的第A+1处加入元素B
# 在列表指定位置添加新元素
print(pet)
pet.insert(0,‘penguin‘) #在列表最前面添加数据
print(pet)
pet.insert(-2,‘pig‘) #在列表倒数第三个添加数据
print(pet)
3、删减列表中的一些元素;
与之前python列表的添加元素相对,删减列表里面的一些元素也有三种方法:
(1)del pet[n]
它的作用是删除掉列表里面的索引号位置为n 的元素,这里需要注意的是del是一种操作语句。
del m[n]
# 根据索引从列表中删除元素
print(pet)
del pet[0] #删除开头的元素
print (pet)
(2)pet.pop()
它的作用是将列表m的最后一个元素返回,并且在此基础上进行删除掉
Temp=pet.pop() %这里temp就会直接等于吗列表里最后一个元素。
Print(pet) %这里再次输出m的时候已经是删掉最后一个元素的m列表
pop():弹出列表末尾的元素
print(pet)
new_pet=pet.pop()
print(new_pet)
弹出指定位置的元素
# 弹出指定位置的元素
print(pet)
pet.pop(2)
print(pet)
(3)pet.remove()
m.remove的作用是移除掉列表m里面的特定元素;
m.remove(元素A)
# 根据元素的值进行删除:remove()
print(pet) #查看源列表
pet.remove(‘cat‘) #删除cat
print(pet) #打印列表
三、排序
(1)永久排序(正索引,从头到尾)
sort()排序方法:此函数方法对列表内容进行正向排序,排序后的新列表会覆盖原列表(id不变),也就是sort排序方法是直接修改原列表list排序方法。
(2)临时排序(正索引,从头到尾)
sorted()方法:即可以保留原列表,又能得到已经排序好的列表
(3)倒序(从头到尾从尾到头)
reverse列表反转排序:是把原列表中的元素顺序从左至右的重新存放,而不会对列表中的参数进行排序整理。如果需要对列表中的参数进行整理,就需要用到列表的另一种排序方式sort正序排序。
(4)列表长度
len() 方法返回列表元素个数。
操作
# 定义列表:汽车的品牌
print(‘原始排序:‘)
brand = [‘audi‘,‘bmw‘,‘toyota‘,‘luhu‘]
print(brand)
#临时排序
print(‘临时排序:‘)
print(sorted(brand))
# 永久排序: sort()
print(‘正序排序:‘)
brand.sort()
print(brand)
# 倒序排序
print(‘倒序排序:‘)
brand.sort(reverse=True)
print(brand)
# 获取列表长度
print(‘列表长度:‘)
print(len(brand))
四、小练习
列表练习(一)
定义一个列表,存储5个科目名称
kemu = [‘语文‘,‘数学‘,‘英语‘,‘地理‘,‘生物‘]
print(kemu)
新增科目(末尾新增)
kemu.append(‘化学‘)
print(kemu)
修改科目
kemu[2] = ‘计算机‘
print(kemu)
删除科目,并且在打印科目列表的时候,能够显示删除了哪个科目
print(kemu)
new_kemu=kemu.pop(3)
print(new_kemu)
删除第2个科目
kemu.pop(1)
print(kemu)
指定位置新增
kemu.insert(0,‘科学‘)
print(kemu)
删除指定名称的科目
kemu.remove(‘生物‘)
print(kemu)
列表练习(二)
将5个城市的名称存储到列表中,并且保证名称不是按照字母顺序排列的
city = [‘北京‘,‘上海‘,‘广州‘,‘深圳‘,‘山西‘]
print(city)
打印出原始的城市列表信息
print(city)
使用sorted()方法按字母顺序打印城市列表,但是不要修改列表元素的顺序
print(sorted(city))
打印该列表,确认城市名称排列顺序没有被修改
print(city)
使用sort()方法排列城市名称,确保永久性修改排列顺序
city.sort()
print(city)
python定义一个函数列表排序_Python 列表(修改、添加、删除、排序)相关推荐
- Python -- 定义一个函数,判断输入的数是不是质数
Python – 定义一个函数,判断输入的数是不是质数 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,否则称为合数. #定义一个函数,判断该数是不是质数 def sum(n): ...
- Python——定义一个函数,将列表中的每个值修改为前一个值的两倍(其中,第一个值为0);
# 定义一个函数,将列表中的每个值修改为前一个值的两倍(其中,第一个值为0): def double_number(LL):L = [i*2 for i in LL if 1 == 1]L[0] = ...
- 【Python定义一个函数,输出100以内是3的倍数的所有偶数】
题目: 定义一个函数,输出100以内是3的倍数的所有偶数. 思路: 先用def定义一个函数,后利用for循环遍历100以内所有数,并用if语句筛选数字,最后得出是3的倍数的偶数 代码: def fun ...
- python封装一个函数并调用_python - 函数的封装与调用
一.函数的定义,函数名,函数体以及函数的调用 1.函数的定义语法: def 函数名(): 函数体 2.函数名的定义与变量名命名一样 3.函数的封装与调用 #函数的封装 defyue():print(' ...
- python定义私有变量的方法_Python怎么修改私有属性 如何访问python类中的私有方法...
python 类为什么不能定义私有属性和方法 因为b.name[0] = 'zhang'修改的是类属性,类属性是全局的,所有的实例共享,如果想私有化,可以添加 def __init__( self ) ...
- python定义一个类和子类_Python定义类、定义子类以及super()函数的使用
代码实验展示: # 继承关系 object -> Person -> Student -> SchoolBoy # python2的语法: # class Person(object ...
- python定义一个字符串数组赋值_Python ctypes:传递一个字符串数组
我在 Python 2.7中有一个字符串数组,我想通过ctypes传递给C函数: unsigned int SetParams(unsigned int count, const char **par ...
- python定义一个类怎么弄_Python怎么创建一个类
Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的. Python使用class语句来创建一个新类,class之后为类的名称并以冒号结尾:clas ...
- python定义一个类和子类_Python面向对象class类属性及子类用法分析
本文实例讲述了Python面向对象class类属性及子类用法.分享给大家供大家参考,具体如下: class类属性 class Foo(object): x=1.5 foo=Foo() print fo ...
最新文章
- 16种JavaScript设计模式(中)
- shell expect 报错 extra characters after close-brace close-quote
- jieba库的使用和好看的词元
- 关于J2EE中死锁问题的研究(2)
- 变量声明和函数声明的意义详解
- bvp解算器是什么_中科院孙晓明:算法本身并没有善恶,看你想要的目标是什么...
- ROS保姆级0基础入门教程⭐ |第一章 ROS的概述与环境搭建(4万字教程,建议收藏)
- 计算机技术应用于测量,在测量绘图中计算机技术应用探析.doc
- 尚硅谷Java Spring注解驱动开发视频教程
- java 验证码识别_java验证码识别
- Python-航空公司客户价值分析
- Nginx的alias/root/try_files实战
- html动态工艺流程,化工工艺动态流程图制作软件
- ubuntu14.04安装krita
- 创新科技成果广东功能性水稻品种 国稻种芯百团计划行动
- 二级c语言 真题,全国计算机二级c语言历年真题完整版.doc
- Zabbix入门学习课程——Zabbix_Server安装篇
- 办理公司经营贷款需要什么条件呢?-民兴商学院
- PL/0解释程序输出运行栈(带注释)
- Windows下Mysql 免安装版的安装配置教程