零基础学习python_列表和元组(10-13课)

  一时兴起今天又回过头来补一下列表和元组,先来说说列表哈,列表其实是python最经常用到的数据类型了,不仅经常用还很强大呢,这个跟C语言里面的数组是类似的,列表当然也可以增删改查,不过我可没打算用之前字典的方式给大家讲解,我给大家讲解下列表的常用方法就好了。

1、首先我先讲下怎么创建一个列表,你看下方list1是创建了一个空列表,list2是创建了一个有值列表。

 

2、list1.append(),这个方法是在列表末尾追加,看下面例子:

记得append()方法是列表末尾追加

这种末尾追加虽然可以加进去,但是有时候我想中间插入咋办呢?下面这个方法就是满足这个需求滴

3、list1.insert(index,element),insex为索引号,也就是第几位,位置是从0开始的,基本上语言的第一位索引都是0,element是自己想要加入列表的值,啥值都行,加列表都行,看实例如下:

当然那你说我只知道列表有个值,而且我想将新的值加入到列表那个值的后面,那这咋办呢?是不是我们得先将那个值得索引打出来,你才能根据索引插入呢?

4、list1.index(value),value就是在字典里的值,返回当前value的索引号(只返回找到的第一个),如果你输入的是列表中不存在的那么程序就会报错,实例如下:

大家有没有发现,用insert加入列表的话依旧还是列表,那我想将一个列表的值加入另一个列表但是加入后又不以列表的形式显示咋搞呢?insert加入列表如下:

5、list1.extend(list2),在列表末尾一次性添加列表的多个值;修改了被扩展序列,而连接操作会返回全新的列表。

list1就变成了两个列表的和了,记住新列表不会去重的。

  能加便能删,下面介绍下列表删除的方法

6、list1.pop(index),移除列表中的一个元素;默认是最后一个。是列表操作中唯一一个,既能修改列表,又能返回元素值的列表方法。

记住pop后面是跟索引号的 ,索引号不存在的话会报错,不填索引号的话就是删除最后一个

通过索引去移除列表元素固然好,但是有时候你只知道想要移除的元素并不知道元素位置,如果用index的话又显得很累赘,因此列表又多了

7、list1.remove(element),移除列表中某个值的第一个匹配项。

看,移除了第一个hello,但是如果我们想移除第二个或者是全部hello呢?

这里先讲下全部移除吧,目前我想到的方法就是,依旧用remove这个方法,我们可以先统计下想要删除的元素在列表中有多少,然后用个for循环执行刚刚统计那么多次不就删除了吗?不多说了贴个代码给大家看下(count方法看下面第8):

是不是hello全部被删了?当然可能还有更好的,目前这使我想到的,欢迎大家指教哈,那么如果我想删除第二个或者第三个呢?琢磨了下自己写了个粗略版的,以后学深了再修改为更好的写法。

def delete_element(list1,element,num):
    delete_num = 0
    if element in list1:
        if num == ‘alldelete‘:
            for i in range(list1.count(element)):
                list1.remove(element)
        else:
            num = int(num)
            while num:
                print(num)
                delete_num = list1.index(element,delete_num)
                delete_num += 1
            list1.pop(delete_num-1)
    else:
        print("你输入的值不在列表里面!")

list1 = [1, 2, ‘hello‘, 3, 4, ‘hello‘, ‘word‘, ‘hello‘]
element = input("请输入你想要删除的元素:")
num = input("请输入你想要删除第几个元素:(alldelete为全部删除)")
delete_element(list1,element,num)
print(list1)

8、list1.count(element),统计元素在列表中出现的次数

当然你除了一个一个清除之外还可以一次性清除列表所有元素,用clear就行了,这个跟字典的方法类似

9、list1.clear(),这个就不演示了,因为作用很明显,就是清空列表的值,但是列表还在的,这个跟字典的del可不同喔,只是情况列表内容呦,并未清除对象。

10、list1.copy(),这个你记住是复制一个副本,原值和新复制的变量互不影响,与=不同,=是对象引用而已。

  上面说了那么多列表的方法,接下来呢说下列表的排序,这个用起来可能相对麻烦点,也许真的是!

11、list1.sort(key=None, reverse=False),这个是列表正向排序,该方法没有返回值,下面是简单排序,大家看下,这是最简单的用法,参数默认都为None。

接着是较为复杂的用法,下面是以列表中每一个元素的第二位进行排序。

既然说到了列表的sort那就不得不提到python本身支持的函数sorted,其实一般用sorted比较多,因为更加灵活些,下面介绍用法:

sorted(iterable[, key][, reverse]) ,sorted的第一个参数是一个迭代器,第二个参数是用来排序的key,第三个参数的排序数序:正序还是倒序 ,该方法返回列表

记得列表的sort是改变原列表的,而sorted方法是不改变原列表的。

刚刚使用列表正向排序,然后key也就是排序的规则是abs绝对值,因此 排序是图中所示。

默认reverse是Flase,如果写成True就变成了反向排序,看下面的结果就与刚才相反了。

12、list1.reverse(),反向列表中元素,该方法没有返回值,看个例子就知道了

就是把列表反过来即可

好了,上面讲述了关于列表的方法,下面接着来讲下元组吧,Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

1、元组的创建,看下面的例子,创建元组可以直接tup1 = (),如果元组只有一个值时,又想创建为元组记得在元素后加个逗号,

元组方法比较少,因为不能修改,只有count和index

2、tup1.count(element)和tup1.index(element),这两个和列表差不多我就不多说了,给个例子大家看下就好

3、列表与元组的相互转换,其实这个也没啥好说的,但是之后估计也会用到,所以还是给大家说下吧!继续看实例:

看,是不是很简单呢,就是用list和tuple即可

4、最后给大家讲解下切片吧,这个还是比较牛逼的,大家看看下面的实例是否能看懂呢?记得索引是从0开始,而且切片的序号是只要左界线不要右边界的喔

5、突然想起来好像还有点东西没说,虽然元组不能修改,但是也可以通过“+”进行元组连接,或者通过del进行元组删除操作。

时间: 2024-10-11 03:46:30

零基础学习python_列表和元组(10-13课)的相关文章

零基础学习python_字典(25-26课)

今天学到后面的知识,突然发现之前学习到的字典列表啥的都有点忘了,打算补一下之前学到的字典,到时候你看的时候,字符串.列表.字典.元祖这几个没啥顺序,刚开始学的时候了解下方法,当然你可以死记硬背下,后面用到的时候不记得再看也行,熟能生巧嘛!今天主要讲的是字典的方法. 用相对正式的话来说的话,Python中的字典是python的一种数据结构,它的本质是key和value以及其对应关系的一种集合,一个key可以对应一个多个value.其实看下例子你就很容易理解了. 1.字典的创建(啥东西都得先出生才行

零基础学习python_字符串(14-15课)

今天回顾下我之前学习python的第一个对象--字符串,这个对象真蛋疼,因为方法是最多的,也是最常见的类型,没有之一... 内容有点多,我就搜了下网上的资料,转载下这个看起来还不错的网址吧:http://www.cnblogs.com/PeterZhang1520389703/p/7647160.html str.capitalize() --> String 返回字符串,其首字母大写,其余部分小写 1>>> str = "TEST" 2>>>

salesforce lightning零基础学习(七) 列表展示数据时两种自定义编辑页面

上一篇Lightning内容描述的是LDS,通过LDS可以很方便的实例化一个对象的数据信息.当我们通过列表展示数据需要编辑时,我们常使用两种方式去处理编辑页面:Pop Up Window弹出修改详情以及在本页面隐藏详情页面显示编辑页面. 实现这个功能以前主要需要先了解几个标签: lightning:recordForm: 此标签允许用户快速的创建一个form去查看,添加以及修改一条记录.集合了 lightning:recordEditForm 以及 lightning:recordViewFor

零基础学习什么是python列表(list)

今天马哥教育要跟大家分享的文章是零基础学习什么是Python列表(list)?Python中没有数组,list是一种有序的集合可以随时添加和删除其中的元素,可以添加不同类型的数据. Python入门新手和正在Python学习的小伙伴快来看一看吧,希望能够对大家有所帮助 ! 列表元组用索引来访问,索引从0开始 用len()函数可以获得list元素的个数 <img src="http://www.magedu.com/wp-content/uploads/2019/11/20190522134

零基础学习openstack【完整中级篇】及openstack资源汇总

1.你是如何学习openstack的?2.你对openstack的组件了解多少?3.你认为openstack该如何学习? 一直想写关于openstack的方面的内容,今天终于整理完成.算是完成一桩心事,内容整合来自: 零基础学习openstack(上)[中级篇] 零基础学习openstack(下)[中级篇] 是在 零基础学习openstack[初级篇]基础上的一个继续: 初级篇,我们主要是有这么一个概念,openstack的组成openstack由哪些部分来组成: Identity(代号为“Ke

蓝鸥零基础学习HTML5—html+css基础

蓝鸥零基础学习HTML5-html+css基础 一.课程目标 1.了解前端开发职位:2.掌握常用标签以及语义及用法:3.掌握常用css的特性,掌握基础布局技巧:4.掌握整站规划概念. 二.适用人群 零基础积极学习html5者 三.课程简介 本课程主要讲解了 html+css的基础知识,包括html模板.标签.css基础样式.布局.表格表单.整站等等,是进行前端开发的基础.Html+css是前端开发的基础,大部分前端开发工程都需要从html+css布局开始,html+css的基础非常重要,是前端开

零基础学习 Hadoop 如何下手

想学习hadoop,可是苦于自己没有任何的基础,不知道该如何下手,也不知道自己能不能学会.其实零基础学习hadoop,没有想象的那么困难.曾经我也是一位小白,刚接触到云计算,想过培训,但是培训机构的选择也让我很纠结,就自己开始去摸索学习,现在我把自己的学习思路整理一下,希望对大家有帮助. 首先整体说一下学习过程给大家借鉴: 一.了解hadoop: 这里不具体阐述概念,有兴趣的同学可以自己上网去查.我们知道hadoop,有单机安装,伪分布安装和分布安装.同时hadoop的环境是Linux,所以我们

零基础学习Vim编辑器

**********************************************************************0.这篇教程的简介:Vim是Linux/Unix下的经典编辑程序,它高效且专注,灵活且强大,是Linxu/Unix环境下编程人员.文字排版人员和系统管理员必须掌握的一项基础技能但是由于一些我们后文会介绍到的历史原因,Vim编辑器的学习难度远远高于其它编辑器,但是我相信通过我这篇教程的引导,您一定可以熟练地运用Vim!1.需要注意的    :这是一篇“零基础的

[原]零基础学习视频解码之seek

现在,我们要添加一些功能,当你看不能倒带的电影,是不是很烦? 那么函数av_seek_frame功能看起来是多么赏心悦目. 我们将让左,右箭头来回走在影片中通过一个小的向上和向下箭头很多,其中“三多一少”是10秒,“很多”为60秒.因此,我们需要设置我们的主循环,用来捕获击键.然而,当我们得到一个按键,就不能直接称之为函数av_seek_frame.我们所要做的是在我们的主解码循环中,decode_thread循环做相应的处理. 为了检测按键,我们先来看看,看看我们得到了一个SDL_KEYDOW