Skip to content

list 列表

  • 支持多种不同类型,嵌套
  • 索引时从 0 依次递增
js
变量名称 = [];
变量名称 = list();

list_1 = [1, 2, 3, "hello"];

// 常用操作方法
// 查找索引
num = list_1.index("hello");
// 修改指定索引的值
list_1[1] = "world";
// insert 插入元素
list_1.insert(1, 4);
// append 向容器尾部追加一个元素
list_1.append(5);
// extend 尾部追加一批元素
list_1.extend([1, 2, 3]);

// 删除
del list_1[1]
// pop 移除元素并返回该元素
ele = list_1.pop(1)

// remove 只删除匹配的第一个元素
list_1.remove("hello")

// 列表清空
list_1.clear()

// count 统计某个元素的个数
count_1 = list_1.count(1)

// len 列表的元素数量
count = len(list_1)

INFO

  • 可以容纳多个元素
  • 可以容纳不同类型的元素
  • 数据是有序存储的
  • 允许数据重复
  • 可以修改

tuple 元组

  • 使用小括号,元组的元素不能修改(增加/删除)
  • 括号中添加元素,并用逗号分隔,可以是不同的数据类型
  • 使用场景:不希望封装的数据被修改
js
tup1 = ("h", "e", "l");
tup2 = "w", "o";

// 定义单个元组
tup3 = ("hello",)

// 元组的嵌套
tup4 = ((1,2,3),(4,,5,6))

// 访问元组 下标索引
print(tup1[0]);

// 修改元组  元组的元素是不可以修改,可以进行连接组合
tup3 = tup1 + tup2;

// 删除元组
del tup1;

// index() 查找某个元素的下标

// count() 统计某个元素出现的次数

// len(元组) 统计元组内的元素个数

str 字符串

  • 字符串是字符的容器,可以存放任意数量的字符
  • 不可修改
js
str_1 = "hello world";

// index() 查找索引
str_1.index("w");

// replace(str1, str2) 返回一个新字符串
new_str = str_1.replace("h", "k");

// split() 返回一个list
new_list = str_1.split(" ");

// strip() 去除空格
new_strip = str_1.strip();

// count() 统计某元素的次数

// len() 统计字符串的长度

容器的切片

  • 序列连续,有序,可使用下标索引的一类数据容器
  • 切片:从一个序列中,取出一个子序列
js
// list[开始下标 :结束下标 : 步长]
// 起始可以省略,表示从头到尾
// 步长可以省略,默认为 1, 为负数 表示倒序执行
list_1 = [1,2,3,4,5]
list_2 = list_1[1:4]

set 集合

  • 无序存储,不支持下标索引访问
  • 支持不同类型的数据
  • 不允许重复数据
  • 可以修改
  • 支持 for 循环
js
set_1 = {"a", "b", "c"};
set_empty = set()

// add 添加元素
set_1.add("d")

// remove 移除元素
set_1.remove("a")

// 随机取出一个元素 pop
element = set_1.pop()

// 清空
set_1.clear()

// 取2个集合的差集 集合1.difference(集合2)
set_2 = { 1, 2, 3 }
set_3 = { 1, 5, 6 }
set_4 = set_2.difference(set_3)

// 消除2个集合的差集 集合1.difference_update(集合2)
// 改变集合1的内容, 无返回值
set_2.difference_update(set_3)
// => set_2 = { 2, 3 }

// 2个集合合并 集合1.union(集合2)
// 合并为一个新的集合并返回
new_set = set_2.union(set_3)
// => { 1, 2, 3, 5, 6 }

// 统计集合的元素数量 len()
len_1 = len(set_2)

// 集合的遍历
// 集合不支持下标索引,不支持while循环

dict(字典,映射)

  • 定义
js
dict_1 = { a: 1, b: 2 };
dict_2 = dict();

// 删除 dict.pop(key) 并返回该元素的值
dict_1.pop("a");
// 清空 dict.clear()
dict_1.clear();
// 获取全部key  dict.keys()
dict_keys = dict_1.keys();
// 1, 根据获取全部keys 遍历获取
// 2, 直接使用for in

// 统计字典内的元素数量 len()
count = len(dict_1);

WARNING

  • 不可以使用下标索引
  • key 和 value 可以是任意数据类型(key 不可为字典)
  • key 不可以重复,如果已存在,就是更新 value 值
  • 可以修改
  • 支持 for 循环,不支持 while 循环

容器的通用操作

  • min() 最小元素
  • max() 最大元素
  • len() 长度
  • list(容器) - 转换为列表
  • str(容器) - 转换为字符串
  • tuple(容器) - 转换为元组
  • set(容器) - 转换为集合
  • sorted(容器, [reverse=True]) - 将容器进行排序,reverse 表示降序
js
// max

字符串比较

  • 从左到右依次比较大小,只要大的就大,字母比较 ASC