zoukankan      html  css  js  c++  java
  • python-list操作

    列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

    列表的操作

    list_ = [1, 2, 3, [4, 5, 6], "Test", "test1"]
    
    # insert 按照索引去添加
    list_.insert(1, "insert_")
    print(list_)  # [1, 'insert_', 2, 3, [4, 5, 6], 'Test', 'test1']
    
    # 增加到最后
    list_.append("666")
    print(list_)  # [1, 'insert_', 2, 3, [4, 5, 6], 'Test', 'test1', '666']
    
    # 迭代的去增加
    list_.extend("abc")
    print(list_)  # [1, 'insert_', 2, 3, [4, 5, 6], 'Test', 'test1', '666', 'a', 'b', 'c']
    
    

    list_ = [1, 2, 3, [4, 5, 6], "Test", "test1"]
    
    # 按照位置去删除
    list_ = [1, 2, 3, [4, 5, 6], "Test", "test1"]
    ret = list_.pop(3)  # pop()删除是有一个返回值,返回值为删除的元素
    print(list_)  # [1, 2, 3, 'Test', 'test1']
    print(ret)  # [4, 5, 6]
    
    # 切片删除
    
    list_ = [1, 2, 3, [4, 5, 6], "Test", "test1"]
    del list_[:3]
    print(list_)  # [[4, 5, 6], 'Test', 'test1']
    del list_[1]
    print(list_)  # [[4, 5, 6], 'test1']
    del list_
    print(list_)  # NameError: name 'list_' is not defined
    
    # 按照元素去删除
    list_ = [1, 2, 3, [4, 5, 6], "Test", "test1"]
    list_.remove(1)
    list_.remove("Test")
    print(list_)  # [2, 3, [4, 5, 6], 'test1']
    
    # 清空列表
    list_.clear()
    print(list_)  # [] 列表还存在
    

    list_ = [1, 2, 3, [4, 5, 6], "Test", "test1"]
    
    list_[1] = "hello"
    print(list_)  # [1, 'hello', 3, [4, 5, 6], 'Test', 'test1']
    
    list_[:2] = "&&***"
    print(list_)  # ['&', '&', '*', '*', '*', 3, [4, 5, 6], 'Test', 'test1']
    
    list_[::2] = "!@#$%"  # 加上步长一定要对应长度相等
    print(list_)  # ['!', '&', '@', '*', '#', 3, '$', 'Test', '%']
    

    list_ = [1, 2, 3, [4, 5, 6], "Test", "test1"]
    
    print(list_[0])  # 1
    print(list_[-1])  # test1
    print(list_[:4])  # [1, 2, 3, [4, 5, 6]]
    print(list_[2:5])  # [3, [4, 5, 6], 'Test']
    print(list_[1:5:2])  # [2, [4, 5, 6]]
    
    for i in list_:
        print(i, end="")
    print('
    ')   # 123[4, 5, 6]Testtest1
    

    其他

    list_ = [1, 2, 3, [4, 5, 6], "test", "test"]
    
    # 获取列表的长度 len方法
    print(len(list_))  # 6
    
    # 计算某个元素出现的次数  count
    print(list_.count("test"))  # 2
    
    # index  通过元素找索引,找到第一个就返回,找不到就报错
    
    print(list_.index(3))  # 2
    print(list_.index("test"))  # 4
    
    num_list = [1, 7, 2, 4]
    num_list.sort()  # 排序是从小到大,reverse=True,则是从大到小
    print(num_list)  # [1, 2, 4, 7]
    num_list.sort(reverse=True)   
    print(num_list)  # [7, 4, 2, 1]
    
    
    list_ = [1, 2, 3, [4, 5, 6], "test", "test"]
    list_.reverse()  # 反转
    print(list_)  # ['test', 'test', [4, 5, 6], 3, 2, 1]
    
    

    列表的嵌套

    l1 = [1, 2, 'taibai', [1, 'alex', 3,]]
    '''
    1, 将l1中的'taibai'变成大写并放回原处。
    2,给小列表[1,'alex',3,]追加一个元素,'老男孩教育'。
    3,将列表中的'alex'通过字符串拼接的方式在列表中变成'alexsb'
    '''
    #1.
    l1 = [1, 2, 'taibai', [1, 'alex', 3, ]]
    l1[2]=l1[2].upper()
    print(l1)   # [1, 2, 'TAIBAI', [1, 'alex', 3]]
    #2.
    l1 = [1, 2, 'taibai', [1, 'alex', 3, ]]
    l1[-1].append("老男孩教育")
    print(l1)  # [1, 2, 'taibai', [1, 'alex', 3, '老男孩教育']]
    #3.
    l1 = [1, 2, 'taibai', [1, 'alex', 3, ]]
    l1[-1][1] = l1[-1][1]+"sb"  # [1, 2, 'taibai', [1, 'alexsb', 3]]
    print(l1)
    

    Tuple(元组)

    元组只能查不能改

    print(tuple_.count("test"))  # 2
    print(tuple_.index("test"))  # 4
    
    # 切片,索引
    
    print(tuple_[0])  # 1
    print(tuple_[-1])  # test
    print(tuple_[::2])  # (1, 3, 'test')
    print(tuple_[:4])  # (1, 2, 3, [4, 5, 6])
    
    
    # 删除元组
    del tuple_
    print(tuple_)  # NameError: name 'tuple_' is not defined
    
    # 元组的不可以更改的,但是嵌套在其中的可更改的类型是可以更改,
    # 第一层是不能更改的
    
    tuple_ = (1, 2, 3, [4, 5, 6], "test", "test")
    # 可以对列表进行操作
    tuple_[3].append(123)  # (1, 2, 3, [4, 5, 6, 123], 'test', 'test')
    print(tuple_)
    
    

    range

    range() 函数可创建一个整数列表,一般用在 for 循环中。
    基本的格式:

    range(start, stop[, step]
    

    参数:

    • start: 计数从 start 开始。
    • stop: 计数到 stop 结束,但不包括 stop。
    • step:步长,默认为1。
    >>> range(10)
    range(0, 10)
    >>> list(range(10))
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> list(range(2,15))
    [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
    >>> list(range(0,20, 2))
    [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
    >>> list(range(0, -10, -1))
    [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
    >>> list(range(-10, -1, ))
    [-10, -9, -8, -7, -6, -5, -4, -3, -2]
    >>> list(range(0, -10,-1 ))
    [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
    
    string_data = "string"
    
    for i in range(len(string_data)):
        print(i, end=" ")
    print("
    ")  # 0 1 2 3 4 5 
    
  • 相关阅读:
    怎样把echarts图表做成响应式的
    检测IE浏览器兼容Edge模式及IE11
    封装微信jssdk自定义分享代码
    C# json字符串 转换成数组、集合、相应对象 sansan
    ObjectC 正确使用内存的几条法则 sansan
    c# 利用反射设置属性值 sansan
    ie6不能识别option标签的selected属性解决方案 sansan
    sql server 2005/2008 设置 sql身份验证 和 sa空密码(像sql2000一样使用)(转载) sansan
    SqlServer 日期时间格式转换 sansan
    C#获取文件大小 sansan
  • 原文地址:https://www.cnblogs.com/yangchangjie150330/p/10518396.html
Copyright © 2011-2022 走看看