zoukankan      html  css  js  c++  java
  • python基础之列表(list)

    本文主要讨论python中列表的性质和列表的一些内置方法。

    一.列表的定义和性质

    1.列表的定义:

    列表是python中的内置内的一种,在python中的类的关键字是list.列表的定义如下:

    li=[12.'hello',344,[12,23,'hshs']]

    列表是由[]标志的。列表中的元素用“,”分隔开.列表的元素可以是数字,字符串,元组,字典。

    2.列表的性质

    (1)列表可以通过索引查找元素
    li=[1,2,3,4]
    s=li[3]
    print[s]

    列表的索引从0开始,最后一个元素的索引是列表的长度-1.

    (2)列表可以通过for和while循环遍历
    1 li=[1,2,45,45]
    2 s=len(li)
    3 i=0
    4 for item in li:
    5     print(item)
    6 while i<s:
    7     print(li[i])
    8     i=i+1

    列表是有序的,因此可以由while循环遍历(字典是无序的,因此不能用while循环遍历)。当然,for循环遍历也是支持的。

    (3)列表中的元素可以是基本数据,即数据,字符串,列表,字典,元组。
    (4)列表可以进行切片操作
    1 li=[12,34,56,67,89]
    2 li1=li[2:4]
    3 print(li1)

    列表可以通过切片取出列表中的元素,切片的索引范围是左闭右开。除了可以查询之外,也可以通过列表切片修改列表元素

    (5)列表的元素允许修改
    1 li=[23,45,67,90]
    2 li[2]=100
    3 print(li)
    4 li[0:3]=[11,21,23]
    5 print(li)

    列表的元素可以修改,既可以通过索引修改,也可以通过切片修改

    (6)列表中的元素允许删除

    列表中的元素,可以通过del li[i]删除,也可以通过listl类提供的方法删除。方法会在后面讨论,此处只说del的删除方式。

    1 li=[45,67,90,'defde',True,'huebfur']
    2 del li[0]
    3 print(li)
    4 del li[0:3]
    5 print(li)

    del既可以针对索引删除,也可以针对切片删除。

    (7)列表与字符串之间的转换

    列表与字符串可以相互转换。字符串转列表相对比较简单,可以直接转换:

    s='hello'
    s1=list(s)
    print(s1)

    将字符串转为列表,则字符串中的每一个字符变成列表中的一个元素。

    列表转字符串就不能直接转了,因为如果直接转会将列表的"[]"标志符也作为字符串的一部分。列表转字符串,我们只能自己写一个函数来转化:

    1 li=[123,'sre',567,True,'defe']
    2 s=''
    3 for iltm in li:
    4     s=s+str(iltm)
    5 print(s)

    如果列表中的元素只有字符串,则可以通过join函数来将列表转为字符串:

    1 li=['hello','dhuewu','cbureuvr']
    2 s=''.join(li)
    3 print(s)
    (8)补充:字符串一旦创建后,不可再修改

    字符串在python中是一个常量(在其他语言中也是这样),所以一旦字符串被创建,就不可再修改,如果要修改字符串,相当于是对该字符串做了一份复制,因此修改后的字符串需要另外一个变量来接收,修改操作对原字符串是无效的,而列表的修改操作则是针对原列表操作,因此无需另外一个变量来接收。

    1 s='helloworld' #原字符串
    2 s1=s.upper()#将字符串变为大写
    3 print(s1)
    4 print(s)

    代码执行效果:

    下面是在列表末尾新增一个元素:

    1 li=[1,2,3,4,5,6]
    2 li1=li.append(9)
    3 print(li)
    4 print(li1)

    这是他的执行结果:

    由上可以看出,对列表的所有操作都是直接针对原始列表进行的。新的变量接收的值是根据方法的返回值来定的。

    3.列表类的方法

    (1)append(value):

    append函数在列表的末尾添加一个元素

    (2)clear():

    清空列表

    (3)copy():

    复制列表(浅拷贝)

    (4)count(value):

    计算value在列表中出现的次数。

    (5)extend(iterable):

    该函数传入参数一个可迭代对象(可以用for循环的便是一个可迭代对象),然后把可迭代对象里面的元素加入列表末尾。需要注意该方法与append方法的区别,如果append函数传入一个可迭代对象,那么会把这个可迭代对象作为一个整体元素加入列表,而extend是把可迭代对象的每一个元素分别加入列表:

    1 li=[1,2,3]
    2 li1=li.copy()
    3 li.append('hello')
    4 li1.extend('hello')
    5 print(li)
    6 print(li1)

    下面是执行结果:

    (6)index(value,strat=None,end=None):

    该方法判断列表中查找元素第一次出现的索引(从左往右),该方法有两个缺省参数,可以指定查找的范围。若列表中不存在该值,会报错

     (7)insert(index,value):

    在列表指定的位置插入新的值

    (8)pop(index=None):

    删除列表中的元素。默认是删除列表的最后一个元素。该方法有一个缺省参数可以用来指定删除的位置。

    (9)remove(value):

    删除列表中第一次出现的value值(从左向右)。

    (10)reverse():

    将列表翻转。即第一个元素变为倒数第一个元素,第二个元素变为倒数第二个元素...

    (11)sort(key=None,reverse=False):

    将列表元素排序,默认是按照升序,如果是降序,则将reverse设置为true,key值后续部门再讨论,此处略过。

  • 相关阅读:
    BGP协议
    OSPF协议项目实战
    理解Eth-Trunk
    二层交换网络当中的高级内容
    策略路由
    isis综合作业
    mac 上安装brew,permission denied解决,安装pip, 安装 requests
    [随笔]swift 笔记
    [转]Swift
    [汇] Android 知识汇总
  • 原文地址:https://www.cnblogs.com/jiachuantang/p/8359552.html
Copyright © 2011-2022 走看看