zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    三个心态做人做学问 沧海
    成功走职场要找准自己的"快捷键" 沧海
    免费离线下载 拂晓风起
    Hibernate 获取某个表全部记录时 奇怪现象 (重复出现某个记录) 拂晓风起
    无法读取mdb 如果连接不了ACCESS mdb文件,就尝试安装MDAC 拂晓风起
    Netbeans 使用 Hibernate 逆向工程 生成hbm和pojo 拂晓风起
    如何点击单选框 radio 后面的文字,选中单选框 拂晓风起
    Java 连接access 使用access文件 不用配置 拂晓风起
    mysql下如何执行sql脚本 拂晓风起
    Hibernate配置access Hibernate 连接 access 拂晓风起
  • 原文地址:https://www.cnblogs.com/j-chao/p/13405151.html
Copyright © 2011-2022 走看看