51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2318|回复: 0
打印 上一主题 下一主题

1.10 列表的使用

[复制链接]

 成长值: 15816

  • TA的每日心情
    开心
    2018-9-25 20:47
  • 24

    主题

    39

    帖子

    457

    积分

    新手上路

    Rank: 1

    积分
    457
    跳转到指定楼层
    楼主
    发表于 2017-12-12 20:51:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 爱卫生 于 2017-12-12 22:35 编辑

    1 列表的定义(列表的源代码文件是builtin.py,可以查看源代码是如何定义的,加深理解)
    列表是一种python数据类型,用中括号[]表示。可以为空值。
    代码:
    1. names=["zhangsan","lisi","wangwu","zhaoliu"]
    2. print(names)
    3. print(names[1],names[3]) # 从0开始编号。取1和3号的值
    4. print(names[1:3]) #这个动作叫切片。从编号1开始取,取3个,但不包括最后1个,即不取尾。所以取到2个值。
    5. print(names[-1]) #取最后一个值,用-1表示位置
    6. print(names[-2]) #取倒数第二个值。
    7. print(names[-3:-1])#取最后2个值。注意不包括最后一个。因为有不顾尾原则。
    8. print(names[-3:])#取最后3个值。
    复制代码
    结果:
    1. ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    2. lisi zhaoliu
    3. ['lisi', 'wangwu']
    4. zhaoliu
    5. wangwu
    6. ['lisi', 'wangwu']
    7. ['lisi', 'wangwu', 'zhaoliu']
    复制代码
    2 列表的追加
    names.append("alice") #插到末尾names.insert(2,"bob") #从位置2开始插入,插入bob
    执行结果为:['zhangsan', 'lisi', 'bob', 'wangwu', 'zhaoliu', 'alice']

    3 列表的替换
    names[2] = "clark" # 直接把位置2的值替换为clark。

    4 列表的删除(3种方法)
    names.remove("alice") #删除列表中alice。需要注意,程序是从左往右搜索,找到一个alice后就删除,不会再执行。后面还有alice也不会删除了。
    del names[1] #删除列表中位置为1的值。
    names.pop() #删除列表中位置最后的那个值。
    names.pop(2) #删除列表中位置2的那个值。

    5 列表的索引查找
    names.index("alice") #返回alice在列表中的位置

    6 列表中重复数值的统计
    names.count("alice") #统计列表中一共有几个alice

    7 列表的重置
    names.clear() #将列表重置为一个空列表[]

    8 列表的顺序颠倒
    names.reverse()  #将列表中元素反向,如[1,2,3]改为[3,2,1]

    9 列表的排序
    names.sort() #默认规则是按照首字母大小写排序
    1. names=["1zhangsan","2lisi","#wangwu","zhaoliu","alice"]
    2. names.sort()
    3. print(names)
    复制代码
    结果:
    ['#wangwu', '1zhangsan', '2lisi', 'alice', 'zhaoliu']
    可以看出,特殊字符>数字>大写字母>小写字母。这个排序规则是ASCII码默认的排序规则。

    10 列表的扩展(合并)
    names.extend举例:
    1. names=["aaa","bbb","ccc","ddd","eee"]
    2. names1=["fff","ggg","hhh","iii"]
    3. names.extend(names1)
    4. print(names)
    5. del names1
    6. print(names)
    复制代码
    结果:
    1. ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg', 'hhh', 'iii']
    2. ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg', 'hhh', 'iii']
    复制代码
    可以看到,合并以后,即使删掉names1,也对已经合并的结果没有任何影响。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2025-1-31 18:04 , Processed in 0.091827 second(s), 32 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表