1.列表是什么?

    它是由一系列特定顺序排序的元素组成。元素可以表示一切任何的事物,元素之间可以没有任何关系。列表用方括号[ ] 表示,元素之间由逗号隔开。

      例如表示一系列数字的列表:  number = [2, 3, 4, 5, 23, 44, 74]

            家庭成员:names = ["Hyan", "Father", "Mom", "Son"]

      列表是可变的,也就是说可以对列表中的元素进行一系列操作。

2.访问列表

    列表的访问是通过索引(也就是元素的位置,不过第一个位置的索引是从0开始的),表现形式如下:

        number[0] = 2

        names[2] = "Mom"

    但是我想访问部分元素,不止一个元素,这里我们就会用到切片(切片主要用:隔开)。先看一下下面的例子:

        number[0:3] = [2, 3, 4]  #这里的意思是从索引0开始访问到索引3的元素(这里强调的是不包括索引3的元素,并且返回的也是一个列表)。

        number[0:6:] = [2, 4, 23] #这里蓝色的2意思是从索引0开始每隔2个(也就是步长,如果不写,默认为1)访问元素。

        number[:5] = [2, 3, 4, 5, 23] #没有指定起始索引,默认从头开始。

        number[1:] = [ 3, 4, 5, 23, 44, 74] #没有指定末尾索引,从索引为1开始到最后。

    如果你不知道有多个元素,但想知道最后一个元素是啥?可以通过索引-1来访问,如此类推倒数第二个索引为-2

        number[-1] = 74

        number[-2] = 44

        number[-3:] = [23, 44, 74]

   

3.修改列表元素

    number = [2, 3, 4, 5, 23, 44, 74]

    number[0] = 8 #直接通过索引赋予新的元素值就行

    print("number =",number)

    number = [, 3, 4, 5, 23, 44, 74]

    number[0:3] =[8, 9, 10] #也可以通过切片的形式修改部分元素

    print("number =",number)

    number = [8, 9, 10, 5, 23, 44, 74]

4.添加列表元素

   这里就要用到一些内置的方法和函数了

   比如我想在number列表中末尾添加元素88,我们就要用到方法append(),如下所示: 

 #!/usr/bin/env python
# encoding: utf-8 number = [2, 3, 4, 5, 23, 44, 74] number.append(88) #对象与方法之间用点表示,这里的number就是一个对象 print("number =",number)

    结果为:

number = [2, 3, 4, 5, 23, 44, 74, 88]   

   这时候有人就说了,我不一定要添加到末尾,我要添加到我想要的位置,这个也是可以的,用方法insert(),如下所示: 

 #!/usr/bin/env python
# encoding: utf-8 number = [2, 3, 4, 5, 23, 44, 74] number.insert(1, 88) #insert括号内的有两个参数,第一个参数1表示你要放置的索引位> print("number =",number)

    结果为: 

number =  [2, 88, 3, 4, 5, 23, 44, 74]

5.删除列表元素

    ① 如果知道要删除元素的位置,并且这个元素不在需要了,可以用del语句:

 #!/usr/bin/env python
# encoding: utf-8 names = ["Hyan", "Father", "Mom", "Son"] del names[1] print("names =", names)

    结果为:

names = ["Hyan", "Mom", "Son"]

    ② 如果你删除的元素,后面的操作还需要这个元素的话,可以用pop()方法:

 #!/usr/bin/env python
# encoding: utf-8 names = ["Hyan", "Father", "Mom", "Son"] name = names.pop(2) #pop括号里面的参数,是要删除的该元素的索引值。如果括号内不写,默认为删除最后一个元素 print("names =", names) print(name)
    结果为:
names = ["Hyan", "Father", "Son"]

"Mom"

    ③ 如果你知道你要删除哪个元素,但是不知道该元素所在的位置,可以用remove()方法:

 #!/usr/bin/env python
# encoding: utf-8 names = ["Hyan", "Father", "Mom", "Son"] name = names.remove("Father") #remove()方法也可以保存删除的元素,为以后可以继续> print("names =", names) print(name)
   结果为:
names = ["Hyan", "Mom", "Son"]

"Father"

6.组织列表

    ① 比如说我想给列表排个序,这个排序方式是按ASCII表方式排序的,可使用sort()方法:

 #!/usr/bin/env python
# encoding: utf-8 number = [2, 4, 3, 44, 23, 5, 74]  number.sort()
print("number =",number) number.sort(reverse=True) #括号内的参数表示先按ASCII表方式排序,然后在倒过来显示
print("number_sort_reverse = ", number)
   结果为:
number = [2, 3, 4, 5, 23, 44, 74]
number_sort_reverse = [74, 44, 23, 5, 4, 3, 2]

② 上面所说的方法是永久的改变了列表排序,但是我只想临时排序一下,不想改变原来的列表,这时候我们可以使用sorted()函数:

 #!/usr/bin/env python
# encoding: utf-8 number = [2, 4, 3, 44, 23, 5, 74]
 
print("number_sorted =",sorted(number))
print("number_sorted_reverse =",sorted(number, reverse=True)) #括号内的参数跟上面一样,先排序再倒过来
print("number =",number)
   结果为:
number_sorted = [2, 3, 4, 5, 23, 44, 74]
number_sorted_reverse = [74, 44, 23, 5, 4, 3, 2]
number = [2, 4, 3, 44, 23, 5, 74]

③ 如果我不想排序,我只想倒着打印列表,这时我们应该用reverse()方法。

 #!/usr/bin/env python
# encoding: utf-8 number = [2, 4, 3, 44, 23, 5, 74] number.reverse() print("number =",number)
   结果为:
number = [74, 5, 23, 44, 3, 4, 2]

7.其它一些常用的方法

    ① count()方法  计算某元素出现的个数

 #!/usr/bin/env python
# encoding: utf-8 str = ["to", "be", "or", "not", "to", "be"] num = str.count("to") print("num =", num)
   结果为:
num = 2

② extend()方法 用于在列表末尾一次性追加另一个序列中的多个值

 #!/usr/bin/env python
# encoding: utf-8 a = [1, 2, 3]
b = [4, 5, 6] a.extend(b) print("a =", a)
   结果为:
a = [1, 2, 3, 4, 5, 6]

③ index()方法 查找你想要的元素所在位置的索引,如果列表中有相同的元素,只会查到第一个元素。 

 1 #!/usr/bin/env python
2 # encoding: utf-8
3
4 a = [1, 2, 3, 4, 5, 6, 2, 4, 11]
5
6 num = a.index(2)
7 print("num =", num)
   结果为:
num = 1

④ list()函数,可以将一序列元素转化为列表。

     例如我将创建数字列表,可以用list()将range()的结果直接转化为列表。其中,range()函数作用是生成一系列数字。

 #!/usr/bin/env python
# encoding: utf-8 a = list(range(1,10)) #range()函数生成的数字跟索引一样,最后一位元素不包括在内 print(a)
   结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9]

也可以将元组转化为列表的返回值,不改变之前的元组。这里稍微说一下,元组它是不可变的,用圆括号表示,可以用访问列表方式访问它,但不能修改里面的元素。

 #!/usr/bin/env python
# encoding: utf-8 names = ("Hyan", "Mom", "Son") family = list(names) print("names =", names)
print("family =", family)
   结果为:
names = ('Hyan', 'Mom', 'Son')
family = ['Hyan', 'Mom', 'Son']

⑤ copy()函数, 可以复制列表比如:

 #!/usr/bin/env python
# encoding: utf-8 names = ["Hyan", "Mom", "Son"] names_copy = names.copy() print("names =", names)
print("names_copy =", names_copy)

    结果为:

names = ['Hyan', 'Mom', 'Son']
names_copy = ['Hyan', 'Mom', 'Son']

    其实我们也可以通过下列方式复制列表:

        names = ['Hyan', 'Mom', 'Son']

        names_copy = names[:] #不需要起始和末尾索引。

        names_copy =  ['Hyan', 'Mom', 'Son']

  

python3知识点之---------列表的介绍的更多相关文章

  1. python3知识点之---------字符串的介绍

    1. 定义 其实字符串就是一系列字符,用引号括起来的就是字符串,其中的引号可以是单引号或者双引号. 比如 "This is a string"   'This is a strin ...

  2. python3入门之列表和元组

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 前面一张主要学习了Python的安装,以及第一个程序helloword的编写,以及简单的输入和输出函数,这章主要介绍序列,列表,元组 序列  这章 ...

  3. python3+selenium获取列表某一列的值

    python3+selenium获取列表某一列的值 我们在坐自动化测试时,我们可能不想单纯的想验证一个选项卡,我们让脚本随机选择一个选项进行接下来的操作.例如我们想获取列表某一列的某一个数据(随机的) ...

  4. Python3的内置函数介绍

    Python3的官网链接:https://docs.python.org/3/library/functions.html?highlight=built#ascii 内置函数介绍 abs 绝对值函数 ...

  5. Centos下ACL(访问控制列表)介绍(转)

    我们知道,在Linux操作系统中,传统的权限管理分是以三种身份(属主.属組以及其它人)搭配三种权限(可读.可写以及可执行),并且搭配三种特殊权限(SUID,SGID,SBIT),来实现对系统的安全保护 ...

  6. vue的条件渲染和列表渲染介绍

    一.条件渲染 1.v-if语句 <div v-if="seen">hahahah</div> <!-- v-if插入或者删除元素的指令 --> ...

  7. Python3中datetime时区转换介绍与踩坑

    最近的项目需要根据用户所属时区制定一些特定策略,学习.应用了若干python3的时区转换相关知识,这里整理一部分记录下来. 下面涉及的几个概念及知识点: GMT时间:Greenwich Mean Ti ...

  8. O365(世纪互联)SharePoint 之调查列表简单介绍

    前言 SharePoint中为了提供了很多开箱即用的应用程序,比如调查列表就是其中之一,同样,在O365版本里(国际版和世纪互联版本均可),也有这样的调查列表可以供我们使用,而使用起来非常方便和快速, ...

  9. python3 字符串与列表常用功能

    一.字符串常用功能 1. capitalize(),将字符串的首字母变成大写,其余全部置为小写:如果字符串中有多个单词,也只是将第一个单词的首字母置为大写:例: >>> name = ...

随机推荐

  1. 【BZOJ1858】[SCOI2010] 序列操作(ODT裸题)

    点此看题面 大致题意: 给你一个\(01\)序列,让你支持区间赋值.区间取反.区间求和以及求一段区间内最多有多少连续的\(1\)这些操作. \(ODT\) 这道题正解似乎是线段树,但码量较大,而且细节 ...

  2. 4. NBU文件备份与恢复,图形界面&字符界面操作

    一. 图形界面文件备份与恢复 1.1  文件备份 待补充 1.2 Windows文件恢复 (1) 打开恢复客户端 (2) 检查设置 (3) 查询可恢复信息 (4) 选取恢复时间点和文件 (5) 选择恢 ...

  3. CoreData的学习

    第一步:创建项目是勾选coredata,当然创建的时候没有勾选,之后还可以手动生产, 然后:创建数据库模型,及为其添加模型的属性. 然后生成模型文件: 注意⚠️:首先设置为Manual/None  不 ...

  4. 20145238-荆玉茗 《Java程序设计》第10周学习总结

    20145238 <Java程序设计>第10周学习总结 网络编程 ·网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...

  5. 剑指offer40

    class Solution { public: void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) { ) ret ...

  6. [转] JAVA中读取网络中的图片资源导入到EXCEL中

    需求 导出人员的信息并且加上人员的照片至EXCEL中 完整的代码 //创建一个表格 HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...

  7. Matlab将矩阵保存为图像

    imwrite(image,'image.jpg'); image为矩阵的内容 image.jpg为要保存的图像的名字

  8. map和set的遍历

    map: 1.通过获取Entry:  Entry的iterator for(Map.Entry<Float,String> entry : map.entrySet()) { System ...

  9. alert、confirm、prompt的区别

    我们在开发一些后台管理系统的时候,经常会用到一些弹出框,今天我们一起看一下吧: alert:仅仅是一个提示的作用,通知用户,会阻线程,alert后面的代码,在用户点击确认后仍然会照常执行. confi ...

  10. convolution,fft, 加速

    零零星星挖坑几个了,都没填土,实在是欠账太多,闲话少说吧,还是多记录总结一下.今天的主题是围绕convolution和加速 记得之前看过lecun他们组的一篇文章,是fft加速convolution的 ...