鱼C论坛

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

[技术交流] 11 - 列表:一个打了激素的数组3 - 景命

[复制链接]
发表于 2017-6-21 14:22:46 | 显示全部楼层 |阅读模式

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

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

x
知识点

一、列表中一些常用的操作符
        1.比较操作符(<                >        ==        <=        >=        !=)                #两个列表比较,只会比较索引值为0的元素。

list1 = [123,234]
list2 = [234,123]
list1 > list2                #只把list1中的0号元素和list2中的0号元素作比较。
False
list2 > list1
True
       
        2.逻辑操作符(not        or        and)
list1 = [123,234]
list2 = [234,123]
list3 = [123,234]
(list1 < list2) and (list1 == list3)
False

        3.连接操作符( + )        #字符串可以用加号(+)进行拼接,列表也同理。(+)加号两边的类型必须一致,连接操作符类似于列表方法extend()。连接操作符(+)并不能把新元素添加到列表,这一点不同于extend()方法。
list1 = [123,234]
list2 = [234,123]
list3 = [123,234]
list1 = list2 + list3
list1
[234,123,123,234]

        4.重复操作符(*)                #字符串可以用乘号(*)复制若干次,列表也同理。
list3 = [123,234]
list3 * 3                        #这并不会改变list3的值
[123,234,123,234,123,234]
list3 *= 3                        #可以和赋值操作符结合使用,会改变原列表的值
list3
[123,234,123,234,123,234]

        5.成员关系(资格)操作符(in  和        not in)                        #判断一个元素是否在一个队列中
list3 = [123,234]
123 in list3
True
123 not in list3
False
list1 = [123,["玫瑰情人节","银色情人节"],234]        #列表中可以嵌套列表
"银色情人节" in list[1]                #在寻找列表中的列表时,要在in操作符后面加上该列表元素的索引值
True

        访问列表中列表中的值,与C语言中的二维数组比较像
list1 = [123,["玫瑰情人节","银色情人节"],234]
list1 [1][0]
“玫瑰情人节”



二、列表的内置函数(BIF):

        1.count()        #有一个参数,参数为要统计出现次数的对象,返回值为该对象出现的次数。
                         #一般用于统计一个对象在列表中出现的次数
                list1 = [1,2,3,1,2,3,1,1,1]
                list1.count(1)
                5       

        2.index()        #三个参数,第一个参数为要查找的对象,第二个和第三个参数确定对象的范围。返回值为第一个参数在列表中的位置。
                        #一般用于从列表中找出某个对象的索引位置。
                list1 = [123,123,123,2]
                list1.lndex(123)
                0
                list1.lndex(123,1,3)
                1

        3.reverse()        #无参数,无返回值。会把这个列表反转过来。(list1 = list1[::-1]也可以实现同样的效果)
                list1 = [1,2,3,4,5]
                list1.reverse()
                list1
                [5,4,3,2,1]

        4.sort()                #参数有三个,func参数是排序的方法,key参数是方法的关键字,reverse参数默认为False,无返回值用指定的方式对列表进行排序,默认是从小到大排序,如果把reverse参数的值改为True,那么就从大到小排序。                list1 = [1,2,6,2,4,7]                                                                        list1.sort(reverse = True)
                list1.sort()                                                                                list1
                list1                                                                                                [7, 6, 4, 2, 2, 1]
                [1, 2, 2, 4, 6, 7]

        5.copy()        #无参数,调用后返回复制后的新列表。函数用于复制列表,类似于 a1 = a[:]。
                list1 = [1,2,3,4,5]
                list2 = list1.copy()
                list2
                [1,2,3,4,5]       

        6.clear()        #无参数,无返回值。clear() 函数用于清空列表,类似于 del a[:]。(不会把列表整个删除,只会删除列表中所有的元素)       
                list1 = [1,2,3,4,5]
                list1.clear()
                list1
                []





三、列表推导式或叫做列表解析式(List comprehensions)
        列表推导式也叫列表解析式,灵感取自函数式编程语言Haskell。Ta是一个非常有用和灵活的工具,可以用来动态的创建列表。语法如下:
                [有关A的表达式 for A in B]
list1 = [x**2 for i in range(10)]
print(list1)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
        相当于:
list1 = []
for i in range(10)
list1.append(i**2)
print(list1)

       

评分

参与人数 2鱼币 +10 收起 理由
康小泡 + 4
小甲鱼 + 6 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 20:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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