Python:列表

列表、元组常用的操作

1.列表:索引、切片、相加、相乘,增删改查等

列表是可变的!!!

  1. 索引:理解为查找某个位置的元素:下标从0开始。
list_1=['北京','上海','武汉','南京','昆明']
print(list_1[1]) #结果为:上海
  1. 切片:可以理解为截取列表中的一部分:[x:y], 从x位置开始(包含),到y(不包含)。[x:-y],-y表示从后往前找(不包含),-1是最后一个。以下是各种情况的举例:

    list_1=['北京','上海','武汉','南京','昆明']
    print(list_1[1:3])  # 结果为:['上海', '武汉']
    print(list_1[1:-2]) # ['上海', '武汉']
    print(list_1[-3:])  # ['武汉', '南京', '昆明']  后三个元素
    print(list_1[:3])   # ['北京', '上海', '武汉']  前三个元素
    #可以用切片复制列表
    list_2=list_1[:]    # 两个索引权全省略,复制整个列表
    print(list_2)
    #还可指定步长,但步长不能为0,否则无法移动
    print(list_1[0:4:2])   # 以2 为步长,即从开始隔一个取一个,直到索引4的前一个结束
    print(list_1[::2])     # 全部元素,以2为步长,即隔一个取一个
    # 步长为负,从右向左取,即反向取值。
    print(list_1[4:0:-2]) # ['昆明', '武汉']
    print(list_1[::-2])   # ['昆明', '武汉', '北京']  两个索引都省略,
    
  1. 列表相加:list_1+list_2,就是两个列表拼接

    list_1=['北京','上海','武汉','南京','昆明']
    list_2=['西安','丽江']
    print(list_1+list_2)
                    #  ['北京', '上海', '武汉', '南京', '昆明', '西安', '丽江']
    

    4.列表与数 x 乘:将这个列表重复x次

    list_2=['西安','丽江']
    print(list_2*3) #['西安', '丽江', '西安', '丽江', '西安', '丽江']
    
  1. 使用 in 检查某个元素是否在系列中

    list_1=['北京','上海','武汉','南京','昆明']
    print('北京' in list_1)  # True
    
  1. 列表长度,最小和最大:

    list_1=['12','4','123','423','21']
    print(len(list_1))  # 5
    print(max(list_1))  # 423
    print(min(list_1))	# 12
    
  1. 对列表基本操作、常用方法:

    (1)字符串转列表,列表转字符串:

    list_1=list('hello')
    print(list_1)            # 字符串转列表     ['h', 'e', 'l', 'l', 'o']
    print(''.join(list_1))   # 字符列表转字符串  hello
    

    (2)修改

    list_1=[1,2,3,4,5,6,7]
    list_1[1]=10                # 修改元素 
    
    print(list_1)               # [1, 10, 3]
    del list_1[1]               # 删除元素
    print(list_1)               # [1, 3]
    
    list_1[2:]=[1,1,1]          # 切片赋值
    print(list_1)               # [1, 3, 1, 1, 1]
    
    list_1[1:1]=['jin','chen']  # 切片插值
    print(list_1)               # [1, 'jin', 'chen', 3, 1, 1, 1]
    
    list_1[1:3]=[]              # 切片删除值
    print(list_1)               # [1, 3, 1, 1, 1]
    

    (3) 列表常用方法:append()、copy()、count()、extend()、clear() 等

    append()

    list_1=[1,2,3,4,5,6,7]
    list_1.append(111)     # 在列表末尾填加元素
    print(list_1)          # [1, 2, 3, 4, 5, 6, 7, 111]
    

    copy()

    list_2=list_1.copy()   # 用copy() list_1[:] list(list_1) 复制列表,一个列表改变不影响另一个
    print(list_2)          # [1, 2, 3, 4, 5, 6, 7, 111]
    
    list_2=list_1          # 直接赋值方式,一个改变另一个受影响
    list_1[0]=1111
    print(list_2)          # [1111, 2, 3, 4, 5, 6, 7, 111]
    

    count()

    list_1=['hello','world','python','hello','world']
    print(list_1.count('hello'))  # 统计‘hello’的个数  2
    

    clear()

    list_1.clear()         # 清空列表
    print(list_1)          # []
    

    extend()

    list_1=['hello','world','python','hello','world']
    list_2=[1,2,3]
    list_1.extend(list_2)         # 用一个列表扩展另一个 ,而 list_1 + list_2 返回新列表
    print(list_1)                 # ['hello', 'world', 'python', 'hello', 'world', 1, 2, 3]
    

    insert()

    list_2=[1,2,3]
    list_2.insert(1,'hello')      # 插入
    print(list_2)                 # [1, 'hello', 2, 3]
    

    pop()

    list_2.pop()                  # 删除末尾元素
    print(list_2)                 # [1, 'hello', 2]
    

    remove()

    list_2.remove('hello')        # 删除指定元素
    print(list_2)                 # [1, 2]
    

    reverse()

    list_2.reverse()              # 反序
    print(list_2)                 # [2, 1]
    
    list(reversed(list_2))        # 反序
    print(list_2)                 # [1, 2]
    

    sort()

    list_1=[5,1,3,55,12,15]
    list_1.sort()                 # 排序
    print(list_1)                 # [1, 3, 5, 12, 15, 55]
    
    list_2=sorted(list_1)         # sorted(x) 排序后返回一个新列表
    print(list_2)
    
    list_1.sort(reverse=True)     # 反向排序
    print(list_1)                 # [55, 15, 12, 5, 3, 1]
    

元组:不可变,不可修改

tuple_1=(1,2,3)
print(tuple_1)                # (1,)

print(tuple_1[:2])            # 元组切片 (1, 2)

list_1=[1,2,3,4]
print(tuple(list_1))          # (1, 2, 3, 4)

 

posted @ 2020-06-21 12:51  _Dream  阅读(67)  评论(0)    收藏  举报