第六篇 列表类型的内置方法

第六篇 列表类型的内置方法

#list(列表)

1 用途

  • 可以描述多个装备、多个爱好、多个玩家信息等等

2 如何去定义一个列表类型

  • 中括号 [] 内可以有多个任意类型的值,用逗号隔开元素

3 常用操作和内置方法

  • 按索引取值(只可取值不可改变)
name_list = ['king','tom','bob']
#             0      1     2      #索引序号
print(f'{name_list[0]}')
print(f'{name_list[-1]}')
#结果是 king 
#      bob
  • 切片(顾头不顾尾)
name_list =['king','tom','bob','jim','jack','mike','nacy','sat']
#索引序号      0      1     2     3     4      5      6      7       
print(f'{name_list[3:]}')   #切片从序号3一直截取到最后一位,默认步长为1
print(f'{name_list[2:7]}')   #切片从序号2一直截取到序号6,默认步长为1
print(f'{name_list[2:7:2]}')   #切片从序号2截取到序号6,步长为2
print(f'{name_list[2::2]}')  #切片从序号2一直截取到最后一位,步长为2
'''结果是:
['jim', 'jack', 'mike', 'nacy', 'sat']
['bob', 'jim', 'jack', 'mike', 'nacy']
['bob', 'jack', 'nacy']
['bob', 'jack', 'nacy']
'''
#注意:步长也可以为负,当步长为负时,索引从右向左走
#逆向思维:当输入的索引序号为负数时,就是指从右往左数的位置,规定最后一位为-1
print(f'{name_list[:]}') #切片所有,即取出整个列表的值,因为默认步长为1
print(f'{name_list[::-1]}') #反向切片,反向取所有即从右往左取出整个列表的值
print(f'{name_list[-3:-1:1]}') #切片从-3截取到-2,正向截取
print(f'{name_list[-2:-8:-1]}') #切片从-2截取到-7,反向截取
'''结果是:
['king', 'tom', 'bob', 'jim', 'jack', 'mike', 'nacy', 'sat']
['sat', 'nacy', 'mike', 'jack', 'jim', 'bob', 'tom', 'king']
['mike', 'nacy']
['nacy', 'mike', 'jack', 'jim', 'bob', 'tom']
'''
  • 长度len()
name_list =['king','tom','bob','jim','jack','mike','nacy','sat']
#索引序号      0      1     2     3     4      5      6      7    
print(len(name_list))
#结果是:8
  • 成员运算 in 和 not in
name_list =['king','tom','bob','jim','jack','mike','nacy','sat']
#判断字符串中是否有我们给出的成员
print(f'{"king" in name_list}')
print(f'{"king" not in name_list}')
print(f'{not "king" in name_list}')
#结果是:True
#       Flase
#       Flase
  • 追加 append()
name_list =['king','tom','bob','jim','jack','mike','nacy','sat']
name_list.append('kat')
print(name_list)
#结果是:
#['king','tom','bob','jim','jack','mike','nacy','sat','kat']
#追加是在最后面追加
  • 循环
name_list =['king','tom','bob','jim','jack','mike','nacy','sat']
for who_list in name_list:
    print(who_list)
#可以取出列表中的每一个元素值
#结果略
  • 删除 del
name_list =['king','tom','bob','jim','jack','mike','nacy','sat']
del name_list[0]
print(name_list)
'''结果是:
['tom', 'bob', 'jim', 'jack', 'mike', 'nacy', 'sat']
'''
  • insert() 插入
#insert()有两个参数,第一个参数为位置(索引序号),第二个为插入对象
name_list = ['king','jerry','judy']
name_list.insert(0,"sam") # insert() 不返回值
print(name_list)
'''insert()必须要与位置参数和插入对象,不然会报错'''
'''结果是:
['sam', 'king', 'jerry', 'judy']
'''
  • pop() 用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
name_list = ['king','jerry','judy']
print(name_list.pop())
print(name_list.pop(0))
print(name_list)
'''结果是:
judy
king
['jerry']
'''
  • remove() 移除列表中的选定元素,返回值为 None
name_list = ['king','jerry','judy']
print(f"{name_list.remove('king')}")
print(name_list)
'''结果是:
None
['jerry', 'judy']
'''
  • count() 计算列表中指定元素的个数
name_list = ['king','jerry','judy']
print(f"{name_list.count('king')}")
'''结果是:
1
'''
  • index() 用于从列表中找出某个值第一个匹配项的索引位置,当index()找不到会==报错==
name_list = ['king','jerry','judy']
#             0      1       2
print(f"{char.index('king')}") 
#结果是:0
  • clear() 清除,清空整个列表,没有参数,返回值为None
name_list = ['king','jerry','judy']
print(f"{name_list.clear()}")
print(name_list)
'''结果是:
None
[]
'''
  • copy() 拷贝,浅拷贝(没有参数)
name_list = ['king','jerry','judy']
print(f"{name_list.copy()}")
n_list = name_list.copy()
name_list.append('tom')
print(n_list)
print(name_list)
'''结果是:
['king','jerry','judy']
['king','jerry','judy']
['king','jerry','judy','tom']
'''
  • extend() 使延伸,扩大
a_list = ['jojo',16,'&&']
b_list = ['boom','**']
a_list.extend(b_list)
print(a_list)
'''结果是:
['jojo', 16, '&&', 'boom', '**']
'''
  • reverse() 倒置,颠倒,反向的(没有参数,返回值为None)
a_list = ['king','tom','jack','bob']
a_list.reverse()
print(a_list)
'''结果是:
['bob','jack','tom','king']
'''
  • sort() 排序,它有两个参数,其中一个是reverse,默认值是reverse=False
a_list = ['king','tom','jack','bob']
a_list.sort()
print(a_list)
a_list.sort(reverse=True)
print(a_list)
'''结果是:
['bob', 'jack', 'king', 'tom']
['tom', 'king', 'jack', 'bob']
'''

4 存一个值or多个值

  • 多个值

5 有序or无序

  • 有序

6 可变or不可变

  • id不变值可变,即在原值的基础上修改,则为可变数据类型;值变id也变,即重新申请一个空间放入新值,则为不可变数据类型

  • 列表为可变数据类型

猜你喜欢

转载自www.cnblogs.com/itboy-newking/p/10842364.html