鱼C论坛

 找回密码
 立即注册
查看: 1943|回复: 0

[技术交流] 《零基础入门学习python》第十-十二讲笔记:一个打了激素的数组

[复制链接]
发表于 2017-7-18 18:31:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 bozhen 于 2017-7-18 19:40 编辑

列表:一个打了激素的数组
数组是放同种类型的,而列表无限制,啥类型都能放,包括子列表
可以创建普通列表,混合列表,空列表

>>>member = ['小甲鱼','小布丁','黑夜','迷途','怡静']
>>>member
['小甲鱼','小布丁','黑夜','迷途','怡静']

>>>mix = [1,'小甲鱼',3.14,[1,2]]  # 混合列表
>>> empty = [  ]      #创建空列表

向列表添加元素:append() , extend(),  insert()
  1. >>> member.append('福禄娃娃')  # 属于对象的函数称为方法,用.连接
  2. append() 只需要一个参数作为元素,自动追加到列表末尾

  3. >>> member.extend(['竹林小溪','Crazy迷恋'])
  4. extend() 参数也只需要一个作为列表,extend是扩展的意思,同样追加到列表末尾

  5. member.append(['竹林小溪','Crazy迷恋'])   
  6. >>> member
  7. ['小甲鱼', '小布丁', '黑夜', '迷途', '怡静', ['竹林小溪', 'Crazy迷恋']]

  8. member.extend(['竹林小溪','Crazy迷恋'])  
  9. >>> member
  10. ['小甲鱼', '小布丁', '黑夜', '迷途', '怡静', '竹林小溪', 'Crazy迷恋']

  11. >>> member.insert(0,'牡丹') # 把牡丹放在第一个位置
  12. insert() 有两个参数,第1个参数表示要插入的位置,第2个参数表示要插入的元素
  13. 比方 name = ['F','i','h','C']  要在i 和 h 中间插入s,   name.insert(2,'s')
复制代码


列表索引值从零开始
>>> member[0]
'小甲鱼'

  1. >>>temp = member[0]
  2. >>>member[0] = member[1]
  3. >>>member[1] = temp
复制代码

实现将member列表的第2个元素和第1个元素调换位置

从列表删除元素:remove(), del ,pop()
  1. >>>member.remove('怡静')  # 只要一个参数,且参数为其元素
  2. >>> del member[1]   # del 是一个语句,member[x] x为索引值
  3. >>> member.pop()  # 不带参数默认删除列表最后一个元素
  4. >>>member.pop(1)  #删除索引值为1的元素
复制代码


如果每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边,怎么做?
      member.insert(0, member.pop())


列表分片(slice): 一次性获取多个元素,分片得到的也是一个列表,分片还有一个步长
  1. >>> member[1:3]  # 用冒号隔开两个索引值,左边是开始(包含),右边是结束(不包含),3-1=2,会分出2个元素的列表
  2. >>>member[:3]   # 去掉第一个索引值,默认从0开始
  3. >>>member[1:]   # 去掉第二个索引值,默认到最后
  4. >>>member[:]  # 两边都不加索引值,得到一个原列表的拷贝
复制代码

  1. list = [1,3,2,9,7,8]
  2. list[0] == 1  ;  list[0:1] == [1]
  3. list[-3:-1] 得到[9,7]
  4. >>> list[0:6:2]   # 步长为2
  5. [1,2,7]
  6. >>> list[::-2]    #步长还可以为负数,也就是从尾部开始向左走
  7. [8,9,3]
复制代码


正常下标 0     1     2    3     4    5
列表内容 1     3     2     9    7    8
负数下标 -6   -5   -4    -3   -2  -1

正常索引从左到右,负数索引从右到左


list2 = list[:]  # 将list拷贝给list2
list3 = list # 给一个固定的东西再增加一个新标签list3
改变list内容,list3跟着变,而list2不受影响


列表的常用操作符:比较操作符,逻辑操作符,连接操作符,重复操作符,成员关系操作符
  1. >>> list1 = [123]
  2. >>> list2 = [234]
  3. >>> list1 > list2
  4. False
  5. >>> list1 = [123,456]
  6. >>> list2 = [234,123]
  7. >>> list1 > list2
  8. False
  9. >>>
复制代码

列表的比较操作符,比较的是第0个元素

  1. >>> list3 = [123,456]
  2. >>> (list1 < list2) and (list1 == list3)
  3. True
复制代码

列表的逻辑操作符

  1. >>> list4 = list1 + list2
  2. >>> list4
  3. [123, 456, 234, 123]
复制代码

字符串的连接,但不建议这样使用,跟extend()方法类似

>>> list3 *3
[123, 456, 123, 456, 123, 456]  #   打印3遍list3的内容

>>> list3 *=3    # 原地改变list3的值
>>> list3
[123, 456, 123, 456, 123, 456]

  1. >>> 123 in list3    # in   成员关系操作符
  2. True
  3. >>> '小甲鱼' not in list3
  4. True

  5. >>> list5 = [123,['小甲鱼','牡丹'],456]
  6. >>> '小甲鱼' in list5    # in只能访问一层
  7. False
  8. >>> '小甲鱼' in list5[1]   #
  9. True
  10. >>> list5[1][1]
  11. '牡丹'
复制代码



dir(list):列出list方法

  1. >>> list3.count(123)  # count方法 计算参数出现的次数
  2. 3

  3. >>> list3.index(123)  # index方法,找到参数出现的第一个位置
  4. 0

  5. >>> list3.index(123,3,7)   # index,后面两个参数表示范围的起始位置和结束位置
  6. 4

  7. >>> list3.reverse()   # reverse 不需要参数,原地翻转
  8. >>> list3
  9. [456, 123, 456, 123, 456, 123]

  10. >>> list6 = [4,3,2,1,5,9,23,13]
  11. >>> list6.sort()  # 从小到大排
  12. >>> list6
  13. [1, 2, 3, 4, 5, 9, 13, 23]

  14. >>> list6.sort(reverse=True)  # 用sort方法实现从大到小排序,默认reverse=False
  15. >>> list6
  16. [23, 13, 9, 5, 4, 3, 2, 1]
复制代码

list6.sort(reverse=True) == list6.sort()  ; list6.reverse()

list2 = list1.copy()   # copy方法跟切片拷贝是一样的
list2.clear()  # clear用于清空列表元素,清空完列表仍然在,只是变成一个空列表

评分

参与人数 1荣誉 +4 鱼币 +4 收起 理由
小甲鱼 + 4 + 4 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-26 04:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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