python---关于列表的操作

列表是一种可以存储不同数据类型,且数据可变的序列

空列表的创建

list1 = []
list2 = list()
print(list1)
print(list2)

非空列表的创建

m_list = ["我是一", "我是二", 3]
n_list = list("我是一我是二3")
print(m_list)
print(n_list)

访问列表元素—索引

m_list = ["北京","青岛","杭州","上海","重庆","丽江"]
print(m_list[0])    # 北京
print(m_list[1])    # 青岛

访问列表元素—切片

列表名[起始下标: 结束下标: 步长]

  • 下标值可以为空
    • 如果不写,则起始下标为0,结束下标为长度-1
  • 下标为负数
    • 列表的最后一个元素的下标为-1
    • 如果起始下标大于结束下标,则步长必须为负数
m_list = ["北京","青岛","杭州","上海","重庆","丽江"]
n_list1 = m_list[0:2]    # 0-1 包头不包尾
print(n_list1)   # ['北京', '青岛']
m_list = ["北京","青岛","杭州","上海","重庆","丽江"]
n_list = m_list[0:6:2]
print(n_list)   # ['北京', '杭州', '重庆']
c = 0
for i in n_list:
    print("n_list[{}] = {}".format(c,i), end="   ") # n_list[0] = 北京   n_list[2] = 杭州   n_list[4] = 重庆
    c+=2
# 反向切片
n_list = m_list[-4:-2]  # 右数第二个开始  ['杭州', '上海']
print(n_list)

列表的复制

列表1 = 列表2

  • 这样子两列表内存一致,即指向同一快内存空间,改变一个另一个也改变
m_list = ["北京", "青岛", "杭州", "上海", "重庆", "丽江"]
n_list = m_list     
l_list = m_list[:]
print(n_list)   # ['北京', '青岛', '杭州', '上海', '重庆', '丽江']
print(l_list)   # ['北京', '青岛', '杭州', '上海', '重庆', '丽江']
print("m_list id : ", id(m_list))   # m_list id :  2768987906632
print("n_list id : ", id(n_list))   # n_list id :  2768987906632

列表1 = 列表2.copy()

  • 两列表内存不一致
m_list = ["北京", "青岛", "杭州", "上海", "重庆", "丽江"]
n_list = m_list.copy()
print(n_list)   # ['北京', '青岛', '杭州', '上海', '重庆', '丽江']
print("m_list id : ", id(m_list))   # m_list id :  1918943715912
print("n_list id : ", id(n_list))   # n_list id :  1918943715976

添加

  • append() : 在列表末尾追加新的元素对象
  • insert() : 将元素对象插入列表指定位置
  • extend() : 在列表末尾一次性追加另一个序列中的多个值

删除

  • pop : 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
  • remove : 移除列表中某个值的第一个匹配项
  • clear : 清空整个列表内数据
  • del : 删除列表内元素或者整个列表

计算

获取指定元素出现的次数

list.count(“key”)

m_list = ["北京", "北京", "青岛", "杭州", "上海", "重庆", "丽江"]
print(m_list.count("北京"))   # 2
获取列表首次出现的下标

list.index(“key”)

m_list = ["北京", "北京", "青岛", "杭州", "上海", "重庆", "丽江"]
print(m_list.index("青岛"))   # 2
统计数值列表的元素和

sum(listName)

m_list = [1, 2, 3]
print(sum(m_list))  # 6
获得列表长度

len(listName)

m_list = [1, 2, 3]
print(len(m_list))  # 3
排序
  • sort : 原表排序,改变了原列表
  • sorted : 对原列表进行排序,然后返回排序后的新列表,不改变原列表。
m_list = [2, 1, 3]
m_list.sort()   # 升序
print(m_list)   # [1, 2, 3]
m_list.sort(reverse=True)   # 降序
print(m_list)   # [3, 2, 1]
m_list = [2, 1, 3, 5, 6]
import random
random.shuffle(m_list)  # 随机排序
print(m_list)

n_list = sorted(m_list)
print(n_list)   # [1, 2, 3, 5, 6]
n_list = sorted(m_list, reverse=True)
print(n_list)   # [6, 5, 3, 2, 1]
反转

list.reverse()

m_list = [2, 1, 3, 5, 6]
m_list.reverse()
print(m_list)   # [6, 5, 3, 1, 2]
发布了213 篇原创文章 · 获赞 104 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42363032/article/details/104448383