• 3. 列表类型


    1. 作用

    存多个值,并且是索引对应的值,按位置存放多个值

    2. 定义

    l = [1,1.2,'aaa',[1,2]]
    

    3. 类型转换

    • 但凡能够被 for 循环遍历的类型都可以当做参数传给 list() 转成列表
    res = list('hello')
    print(res)
    res({'k1':111,'k2':222,'k3':333})
    print(res)
    

    4. 内置方法

    4.1 按照索引取值(正向取值+反向取值)可以取也可以改

    l = [111,'egon','hello']
    

    正向取值

    print(l[0])
    

    反向取值

    print(l[-1])
    

    可以取也可以改:索引存在则不会报错

    l[1] = 222
    print(l)
    

    无论是取值操作还是赋值操作,索引不存在则报错

    l[3]=333
    

    4.2 切片(顾头不顾尾,步长)

    l = [111,'egon','hello','a','b','c','d']
    print(l[0:3])	#111,'egon','hello','a'
    print(l[0:5:2])	#0 2 4
    
    print(l[0:len(l)])
    print(l[:])
    
    new_l = l[:]	#切片等同于拷贝行为,相当于浅拷贝行为
    

    4.3 长度

    l = [111,'egon','hello']
    print(len([1,2,3]))
    

    4.4 成员运算 in 与 not in

    判断一个子字符串是否存在于一个大字符串中

    print("alex" in "alex is sb")
    
    True
    print("alex" not in "alex is sb")
    
    False
    print(not "alex" in "alex is sb") # 不推荐使用
    
    False
    

    4.5 追加 append

    l = [111,'egon','hello']
    l.append(3333)
    l.append(4444)
    print(l)
    

    4.6 插入值 insert

    l = [111,'egon','hello']
    l.insert(1,'alex')
    

    4.7 在右侧插入列表内的信息

    new_l = [1,2,3]
    l = l = [111,'egon','hello']
    
    #代码实现
    for item in new_l:
    	l.append(item)
    print(l)
    

    extend可以实现上述代码

    new_l = [1,2,3]
    l = l = [111,'egon','hello']
    l.extend(new_l)
    print(l)
    

    help可以查看帮助

    print(help([].extend))
    

    4.8 删除 del,pop,remove

    # 方式1:通用的删除方法,只是单纯地删除,没有返回值,返回None
    l = [111,'egon','hello']
    del l[1]
    print(l)
    
    # 方式2:l.pop()	# 根据索引删除,有返回值,返回删除的那个值
    l = [111,'egon','hello']
    l.pop()		# 不指定索引,默认删除最后一个
    res = l.pop(1)	# 会返回删除的那个值
    print(res)
    print(l)
    
    # 方式3:l.remove()	# 根据元素删除,没有返回值,返回None
    l = [111,'egon',[1,2,3],'hello']
    l.remove([1,2,3])
    print(l)
    

    4.9 循环

    for x in [1,'aaa','bbb']:
    print(x)
    

    5. 需要掌握的操作

    l = [1,'aaa','bbb']
    

    5.1 统计某个元素出现的个数 count

    l.count()		# 统计某个元素出现的次数
    print(l.count('aaa'))
    

    5.2 打印某个元素的索引 index

    l.index()		# 打印某个元素的索引,找不到就会报错
    print(l.index('aaa'))
    

    5.3 清空列表 clear

    l.clear()		# 清空列表
    print(l)
    

    5.4 反转列表 reverse

    l.reverse()		# 不是排序,就是反转列表,将列表倒过来
    print(l)
    

    5.5 升序降序 sort

    l.sort()		# 排序,可以配合其他使用,默认从小到大排序(升序),要降序,可以加个reverse
    l = [11,-3,9,2]		# 列表内元素必须是同种类型才可以排序
    l.sort(reverse=True)	# reverse默认为False,要降序,就reverse = True
    print(l)
    

    5.6 比较大小

    l = ['a','d','e']
    # 了解:字符串可以比较大小,按照对应的位置的字符一次pk
    # 按照ASCII码表的先后顺序区别字符的大小,越靠后越大
    
    # 了解:列表也可以比较大小,原理同字符串一样,但是对应位置的元素必须是同种类型
    l1 = [1,'abd','asd']
    l2 = [10]
    l3 = [1,'abd','asd']
    
    print(l1 < l2)
    

    6. 补充

    6.1 队列:FIFO,先进先出

    入队操作:

    l = []
    l.append('1')
    l.append('2')
    l.append('3')
    
    print(l)
    

    出队操作

    print(l.pop(0))
    print(l.pop(0))
    print(l.pop(0))
    
    1
    2
    3
    

    6.2 堆栈:LIFO,后进先出

    入队操作:

    l = []
    l.append('1')
    l.append('2')
    l.append('3')
    
    print(l)
    

    出队操作

    print(l.pop())
    print(l.pop())
    print(l.pop())
    
    3
    2
    1
    
  • 相关阅读:
    关于Blog的思考
    程序员应知——简单就是美
    关于知识分享和微软TechEd Roadshow
    在网络上营销你自己——兼《口碑》书评
    《与孩子一起学编程》书评
    两个要素:人和思考——《软件人才管理的艺术》书评
    程序员应知——也说重构
    《精通Android 2》书评
    oracle利用正则表达式提取字符串中的数字
    oracle 身份证校验函数
  • 原文地址:https://www.cnblogs.com/j-chao/p/13405151.html
Copyright © 2020-2023  润新知