鱼C论坛

 找回密码
 立即注册
查看: 1733|回复: 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()
>>> member.append('福禄娃娃')  # 属于对象的函数称为方法,用.连接
append() 只需要一个参数作为元素,自动追加到列表末尾

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

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

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

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

列表索引值从零开始
>>> member[0]
'小甲鱼'
>>>temp = member[0]
>>>member[0] = member[1]
>>>member[1] = temp
实现将member列表的第2个元素和第1个元素调换位置

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

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


列表分片(slice): 一次性获取多个元素,分片得到的也是一个列表,分片还有一个步长
>>> member[1:3]  # 用冒号隔开两个索引值,左边是开始(包含),右边是结束(不包含),3-1=2,会分出2个元素的列表
>>>member[:3]   # 去掉第一个索引值,默认从0开始
>>>member[1:]   # 去掉第二个索引值,默认到最后
>>>member[:]  # 两边都不加索引值,得到一个原列表的拷贝
list = [1,3,2,9,7,8]
list[0] == 1  ;  list[0:1] == [1]
list[-3:-1] 得到[9,7]
>>> list[0:6:2]   # 步长为2 
[1,2,7]
>>> list[::-2]    #步长还可以为负数,也就是从尾部开始向左走
[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不受影响


列表的常用操作符:比较操作符,逻辑操作符,连接操作符,重复操作符,成员关系操作符
>>> list1 = [123]
>>> list2 = [234]
>>> list1 > list2
False
>>> list1 = [123,456]
>>> list2 = [234,123]
>>> list1 > list2
False
>>>
列表的比较操作符,比较的是第0个元素
>>> list3 = [123,456]
>>> (list1 < list2) and (list1 == list3)
True
列表的逻辑操作符
>>> list4 = list1 + list2
>>> list4
[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]
>>> 123 in list3    # in   成员关系操作符
True
>>> '小甲鱼' not in list3
True

>>> list5 = [123,['小甲鱼','牡丹'],456]
>>> '小甲鱼' in list5    # in只能访问一层
False
>>> '小甲鱼' in list5[1]   # 
True
>>> list5[1][1]
'牡丹'


dir(list):列出list方法
>>> list3.count(123)  # count方法 计算参数出现的次数
3

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

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

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

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

>>> list6.sort(reverse=True)  # 用sort方法实现从大到小排序,默认reverse=False
>>> list6
[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 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 14:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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