python数据结构学习整理-列表

列表的定义:
1. 列表是有序的可变元素集合,使用中括号[]包围,元素之间用逗号分隔
2. 列表是动态的,可以随时扩展和收缩
3. 列表是异构的,可以同时存放不同类型的对象
4. 列表中允许出现重复元素
  • 列表的使用-创建

1. 构造方法list()

list1 = list('testing')
print(type(list1),list1)

2. 中括号填充元素[]

list2 = [1, 2, 4]
list3 = ['testing', 'www']
list4 = [1, 3.1424, 'testing', [5, 6, 7, 8]]
print(type(list4), list4)c

3. 列表推导式

list5 = [i for i in range(1,100) if i % 2 ==0]
print(type(list5),list5)

  • 列表的使用-索引

1. 正向索引

list6 = [1, 2, 3 ,4 ,5]
#1、正向索引
print(list6[2])

2. 反向索引

list6 = [1, 2, 3 ,4 ,5]
#2、正向索引
print(list6[-3])
  • 列表的使用-索引
"""列表的使用:切片
切片[start:stop:step]
- start值:指示开始索引值,如果没有指定,则默认开始值为0;
- stop值:指示到那个索引值结束,但不包括这个结束索引值。如果没有指定,则取列表允许的最大索引值;
- step值:步长值指示每一步大小,如果没有指定,则默认步长值为1
- 三个值都是可选的,非必填
"""
  • 列表的使用-运算符

1. * 号

# 1. * 号
list7 = [1]
print(list7 * 3)

2. + 号

# 2. + 号
list8 = [1, 2, 3]
list9 = [4, 5, 6]
print(list8 + list9)
  • 列表的使用-成员检测
"""列表的使用:成员检测
- in: 检查一个对象是否在列表中,如果在则返回True, 否则返回False
- not in: 检查一个列表是否不包含某个元素。如果不在返回True, 否则返回False
"""
list10 = [1, 2, 3]
print(1 in list10)
print(100 in list10)
print(100 not in list10)

 

 

 

  • 列表的方法-append()
"""列表的方法append()
- append(item): 将一个对象item添加到列表的末尾
- 入参:对象item
- 返回: None
"""
# append(item)
list11 = []
list11.append(1)
list11.append("testing")
print(len(list11), list11)

  • 列表的方法-extend()
"""列表的方法extend()
- extend(iterable): 将一个可迭代对象的所有元素,添加到列表的末尾
- 入参:可迭代对象iterable
- 返回: None
"""
# extend(iterable)
list12 = []
list12.extend('testing')
list12.extend('wtt')
print(len(list12), list12)

  • 列表的方法-insert()
"""列表的方法insert()
- insert(index, item): 将一个对象插入到指定的索引位置
- 入参:索引值index, 一个对象item
- 返回: None
- 原索引位置及后面的元素后移一位
"""
# insert(index, item)
list13 = [1, 2, 3, 4, 5]
list13.insert(0, 'testing')
list13.insert(3, 'hello')
print(list13)

  • 列表的方法-pop()
"""列表的方法pop()
- pop(index)或pop()
- 弹出并返回所指定索引的元素
- 入参:索引值index, 可不传
- 返回:指定索引的元素
- 返回:未指定索引则返回末尾元素
- 如果索引值不正确,或者列表已经为空,则引发IndexError错误
"""
list14 = [1, 2, 3, 4, 5]
print(list14)
data = list14.pop(1)
print(data, list14)

  • 列表的方法-remove()
"""列表方法remove()
- remove(item)
- 移除列表中第一个等于item的元素
- 入参:指定元素item
- 返回:None
- 目标元素必须已存在,否则会报ValueError
"""
# remove(item)
list15 = ['a', 'b', 'c']
list15.remove('c')
print(list15)

  • 列表的方法-sort()
"""列表方法sort()
- sort(key=None, reverse=False)
- 对列表进行原地排序,只使用< 来进行各项间比较
- 入参:支持2个关键字参数:
    -- key: 指定带有一个参数的函数,用于从每个列表元素中提取比较键
    -- reverse: 默认值为False表示升序,为True表示降序
- 返回: None
"""
# sort(key=None, reverse=False)
list16 = [1, 2, 5, 7 ,3]
#升序
list16.sort()
print(list16)
#降序
list16.sort(reverse=True)
print(list16)
# 指定按照元素长度排序
list17 = ['python', 'java', 'Go', 'R']
list17.sort(key=len)
print(list17)

  • 列表的方法-reverse()
"""列表方法reverse()
- reverse(): 将列表中的元素顺序反转
- 参数:无
- 返回:None
- 反转只针对索引值,元素之间不相互比较
"""
# reverse()
list18 = ['a', 'd', 'c']
list18.reverse()
print(list18)

 

  • 列表的嵌套
"""列表嵌套
- 嵌套列表是指在列表里存放列表
- 列表的常用方法都使用于嵌套列表
"""
list19 = [[1, 2, 3], ['python', 'java', 'Go', 'R']]
print(list19[1][2])
list19[1].append('C')
print(list19)

  • 列表推导式
"""列表推导式
- 列表推导式是指循环创建列表,相当于for循环创建列表的简化版
- 语法: [x for x in li if x ...]
"""
"""
实例: 将1-10的所有偶数平方后组成新的列表
"""
#1. 传统方法-for循环
result = []
for ele in range(1,11):
    if ele % 2 == 0:
        result.append(ele ** 2)
print(result)

#2. 使用列表推导式
resutlt = [ele ** 2 for ele in range(1,11) if ele % 2 == 0]
print(result)

 

posted @ 2022-08-15 16:08  woft王  阅读(60)  评论(0)    收藏  举报