鱼C论坛

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

[技术交流] 《Python零基础》012、列表:一个打了激素的数组3

[复制链接]
发表于 2017-7-24 22:16:04 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 caodouhao 于 2017-7-25 14:43 编辑

列表的一些常用操作符

比较操作符
>>> list1 = [1,2,3,4]
>>> list2 = [2,3,4,5]
>>> list1 > list2
False
>>>
只比较第一个位置的元素即返回结果。

逻辑操作符
>>> list1 = [1,2,3,4]
>>> list2 = [2,3,4,5]
>>> list3 = [3,4,5,6]
>>> (list1 < list2) and (list2 < list3)
True
>>> 
连接操作符
用+号实现
>>> list1 = [1,2,3,4]
>>> list2 = [2,3,4,5]
>>> list4 = list1 + list2
>>> list4
[1, 2, 3, 4, 2, 3, 4, 5]
>>> 
重复操作符
>>> list1 = [1,2,3,4]
>>> list2 = list1 * 3
>>> list2
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
>>> 
成员关系操作符
1)用in 和 not in 分别判断参数是否在列表中
>>> list2
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
>>> 5 in list2
False
>>> 6 not in list2
True
>>> 
2)当元素在列表中的列表中时,在用in时要指定元素的位置。
>>> list = [1,2,3,4,[5,6,7,8],9,10]
>>> 5 in list
False
>>> 5 in list[4]
True
>>> 
3)访问列表中的列表中的元素的方法。
>>> list = [1,2,3,4,[5,6,7,8],9,10]
>>> list [4][0]
5
>>> 
列表的小伙伴们

接下来我们来认识一下列表的小伙伴们,官方来讲叫做列表类型的内置函数,那么列表有多少小伙伴呢?不妨让Python自己告诉我们:
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', '<font color="#0000ff">extend</font>', 'index', '<font color="#0000ff">insert'</font>, '<font color="#0000ff">pop</font>', '<font color="#0000ff">remove</font>', 'reverse', 'sort']
>>> 
count()函数
用于统计所需参数在列表中出现的次数
>>> list = [1,2,3,4,5,6,]
>>> list2 =list * 5
>>> list2
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
>>> list2.count(1)
5
>>> 
index()函数
格式:
列表名字.index(value, [start, [stop]])
用于寻找所输入参数在列表中的第一个位置并返回该位置值
加上两个参数可以确定寻找该值的的列表范围
>>> list1 = [1,3,5,7,9,2,4,1,3,5,7,9]
>>> list1.index(3)
1
>>> list1.index(3,3,11)
8

reverse()函数
将列表中所有元素反转顺序。
>>> list1 = [1,3,5,7,9,11]
>>> list1.reverse()
>>> list1
[11, 9, 7, 5, 3, 1]
>>> 
sort()函数   
列表.sort( func, key=None, reverse=False )
默认:reverse = False,前两个参数暂时忽略。
将列表中的元素,按照从小到大的顺序排列,如果,将reverse = True 则按照从大到小的顺序排列。
>>> list1= [1,2,3,4,4,3,2,1]
>>> list1.sort()
>>> list1
[1, 1, 2, 2, 3, 3, 4, 4]
>>> list1= [1,2,3,4,4,3,2,1]
>>> list1.sort(reverse=True)
>>> list1
[4, 4, 3, 3, 2, 2, 1, 1]
>>> 

clear() 函数
用于删除列表中的所有元素,形成一个空的列表
>>> list1
[4, 4, 3, 3, 2, 2, 1, 1]
>>> list1.clear()
>>> list1
[]
>>> 


copy()函数

用于拷贝一个列表
>>> list1 = [1,2,3,]
>>> list2 = list1.copy()
>>> list2
[1, 2, 3]
>>> 
列表推导式/列表解析简介
列表推导式(list comprehensions)也叫列表解析,灵感取自于函数式编程语言Haskell,可以用来动态创建列表。
格式:
(有关的A的表达式  for A in B ):
>>> list1 = [x*2 for x in range(5)]
>>> list1
[0, 2, 4, 6, 8]
>>>

使用列表推导式编写一段代码,将两个列表内容以以下形式输出
list1 = ['1.just do it','2.一切皆有可能','3.让编程改变世界',]
list2 = ['3.鱼C工作室','1.耐克','2.李宁']
1.耐克:just do it
2.李宁:一切皆有可能
3.鱼C工作室:让编程改变世界


参考答案:
list1 = ['1.just do it','2.一切皆有可能','3.让编程改变世界',]
list2 = ['3.鱼C工作室','1.耐克','2.李宁']
list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if name[0] == slogan[0]]
for each in list3:
    print(each)

关于分片“拷贝”概念的补充

虽然说这个知识点在上节课的课后作业中小甲鱼重点提到了,不过肯定有一些童鞋偷懒没有认真看答案,所以在这里小甲鱼再补充讲一下。

评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 08:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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