python数据结构的详细解读-经验总结

上传人:豆浆 文档编号:24902842 上传时间:2017-12-08 格式:PDF 页数:3 大小:153.93KB
返回 下载 相关 举报
python数据结构的详细解读-经验总结_第1页
第1页 / 共3页
python数据结构的详细解读-经验总结_第2页
第2页 / 共3页
python数据结构的详细解读-经验总结_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《python数据结构的详细解读-经验总结》由会员分享,可在线阅读,更多相关《python数据结构的详细解读-经验总结(3页珍藏版)》请在金锄头文库上搜索。

1、python 数 据 结 构 的 详 细 解 读Python 数 据 结 构 Data Structure四 种 数 据 结 构 : 列 表 list; 字 典 dict; 元 组 tuple; 集 合 set;List=val1 ,val2 ,val3 ,val4 Dict=key1 :val1 ,key2 :val2 ,key3 :val3 Tuple=(val1 ,val2 ,val3 ,val4 )Set=val1 ,val2 ,val3 ,val4 一 LIST-可 以 在 列 表 中 添 加 /删 除 和 修 改 元 素 ( 增 删 改 查 )1 .列 表 中 每 一 个 元 素

2、都 是 可 变 的 ;2 .列 表 中 的 元 素 是 有 顺 序 的 , 也 就 是 说 每 一 个 元 素 都 有 一 个 位 置 ;3 .列 表 中 可 以 容 纳 python 中 的 任 何 对 象 ;Insert 插 入List=“apple”,”pear”List.insert=(1 ,”grape”)Print(list)Remove 删 除List=“apple”,”pear”List.remove(“grape”)Print(list)删 除 另 一 种 方 法 : 使 用 del 关 键 字 声 明 del list0 ,2 print(list)补 充 知 识 点Pyt

3、hon 的 CGI:CGI(Common Gateway Interface),通 用 网 关 接 口 ,它 是 一 段 程 序 ,运 行 在 服 务 器 上 如 : HTTP服 务 器 , 提 供 同 客 户 端 HTML 页 面 的 接 口 。CGI程 序 可 以 是 Python 脚 本 , PERL脚 本 , SHELL脚 本 , C或 者 C+程 序 等 。CGI文 件 的 扩 展 名 为 .cgi, python也 可 以 使 用 .py扩 展 名 。Python 中 列 表 是 可 变 的 ,列 表 可 以 修 改 , 而 字 符 串 和 元 组 不 能 !list 代 表 列

4、表 元 素 如 a,b,c,s.1 .List.pop(i) 从 列 表 的 指 定 位 置 删 除 元 素 , 并 将 其 返 回 。 如 果 没 有 指 定 索 引 , a.pop()返回 最 后 一 个 元 素 。 元 素 随 即 从 列 表 中 被 删 除 。 ( 方 法 中 i 两 边 的 方 括 号 表 示 这 个 参 数 是 可选 的 , 而 不 是 要 求 你 输 入 一 对 方 括 号 )2 .List.remove(x) 删 除 列 表 中 值 为 x 的 第 一 个 元 素 。 如 果 没 有 这 样 的 元 素 , 就 会 返 回 一 个错 误 。3 .list.cle

5、ar()=del list : 移 除 列 表 中 的 所 有 项 .4 .list.index(x)返 回 列 表 中 第 一 个 值 为 x 的 元 素 的 索 引 。 如 果 没 有 匹 配 的 元 素 就 会 返 回 一 个 错误 。5 .list.count(x) 返 回 x 在 列 表 中 出 现 的 次 数 。6 .list.sort() 对 列 表 中 的 元 素 进 行 排 序 。List.reverse() 倒 排 列 表 中 的 元 素 。7 .list.append(x) alen(a): = x 把 一 个 元 素 (x)添 加 到 列 表 的 结 尾 =相 反 Li

6、st.pop(i) 从 列 表的 指 定 位 置 删 除 元 素8 .List.extend(L)=alen(a):=L ( 备 注 : L 为 列 表 ) 通 过 添 加 指 定 列 表 的 所 有 元 素 来 扩 充 列表9 .List.insert(i, x) 在 指 定 位 置 插 入 一 个 元 素 。 第 一 个 参 数 是 准 备 插 入 到 其 前 面 的 那 个 元 素 的索 引 , 例 如 a.insert(0 , x) 会 插 入 到 整 个 列 表 之 前 , 而 a.insert(len(a), x) 相 当 于 a.append(x)1 0 .list.copy()

7、 返 回 列 表 的 浅 复 制 等 于 a:tuples元 组 在 输 出 时 总 是 有 括 号 的 , 以 便 于 正 确 表 达 嵌 套 结 构 。 在 输 入 时 可 能 有 或 没有 括 号 , 不 过 括 号 通 常 是 必 须 的 .元 组 由 若 干 逗 号 分 隔 的 值 组 成tuple是 一 组 有 序 且 不 可 改 变 的 数 据 ( 数 组 是 可 以 改 变 的 ) , 它 的 元 素 ( 对 象 ) 个 数 是固 定 的 。 我 们 有 时 候 会 强 制 转 换 my_tuple = tuple(list_a), 由 list_a 得 到 一 个 元 组my

8、_tuple; 或 者 list_a = list(my_tuple) 由 一 个 元 组 得 到 一 个 列 表 。 关 于 使 用 方 法 , 也 是下 标 方 式 , 与 列 表 一 样 。 记 住 , 它 的 值 不 能 改 变 , 因 此 不 能 赋 值 。 特 殊 地 : ( 元 组 也不 是 那 么 不 可 变 )1 . 元 组 中 的 列 表 可 以 被 改 变 , 如 : t=(2 ,3 ,7 ); t0 0 =1 0 0 运 行 后 看 看 t 变 成 什 么 了2 . t=(first,second); t=t+(third,fourth) 看 看 t 现 在 变 成 了

9、 什 么思 考 : 1 中 t0 能 被 改 变 吗 ?如 果 想 改 变 的 话 应 该 怎 么 做 ?注 意 : 一 个 元 素 的 元 组 一 定 要 小 心 , 要 在 后 面 加 上 逗 号 Tuple_a = (Weizhong Tu,) # 注意 后 面 的 逗 号 , 少 了 就 成 了 string 类 型 了 Tuple_b = (9 9 9 ,) # 9 9 9 后 面 的 逗 号 少 了 的 话就 成 了 整 型 数 字 .集 合 ( set) 我 所 理 解 的 , 集 合 的 概 念 就 是 数 学 上 所 称 的 集 合 的 概 念 。集 合 具 有 互 异 性

10、, 确 定 性 , 无 序 性 。 set_a = 1 , 2 # 定 义 集 合 , 或 用 set_a=set()定 义 空 集 合set_a.add(4 ) # 向 set_a 中 添 加 元 素 4set_a.remove(2 ) # 从 集 合 set_a 中 删 除 2 , 没 有 的 话 KeyErrorset_a.discard(2 ) # 删 除 集 合 set_a 中 的 元 素 2 ,remove 的 友 好 版 本 set_a.pop() # 从 集 合 set_a 中 随 机 删 除 一 个 值 , 并 返 回 该 值 。 从 空 集 合 中 pop 会引 发 Key

11、Error, .pop() 无 参 数 , 不 同 于 字 典 。 set_a.clear() # 清 空 集 合 set_b = set_a.copy() # 将 set_a 内 容 复 制 给 set_b( 浅 拷 贝 ) 。 【 set_b = set_a表示 引 用 关 系 , 并 非 是 复 制 ,也 可 用 set_b=set_a: 来 复 制 】 set_a.update(5 ,9 ,2 ) #将 5 , 9 , 2 ( 可 以 是 任 意 多 个 值 ) 加 入 集 合 , 根 据 数 字 中 集 合 的 概 念 , 相 同 的 值 不 会重 复 加 入 。 set_c = s

12、et_a | set_b # 并 集 set_c 为 set_a 和 set_b 的 并 集 set_c = set_a & set_b # 交 集 set_c 为 set_a 和 set_b 的 交 集 set_c = set_a - set_b # 差 集 set_c 为 set_a 去 掉 其 与 set_b 公 共 的 部 分 set_c = set_b set_a # 异 或 set_c 为 set_b 并 set_a, 再 去 掉 二 者 公 共 部 分 s |= t并 , s 与 t 并 集 , 存 到 s 中 ,相 当 于 s=s.union(t) 或 s.update(t)

13、s &= t 交 , s 与 t 交 集 ,存 到 s 中 ,相 当 于 s=s.intersection(t) 或 s.intersection_update(t) s -= t 差 , s 与 t 差 集 ,存 到 s 中 ,相 当 于 s=s.difference(t) 或 s.difference_update(t) s = t 异 或 , s 与 t 不 同 的部 分 并 到 一 起 (s 并 t, 再 去 掉 s 交 t) , 存 到 s 中 ,相 当 于 s=s.symmetric_difference(t)或 s.symmetric_difference_update(t) i

14、f 3 in set_a: # 判 断 set_a 中 是 否 有 元 素 3 set_a set_a = set_b # 判 断 set_a 是 否 为 set_b 的 超 集 , 返 回 True 或 False,相 当 于set_a.issupset(set_b) 【 if 语 句 中 , 空 集 合 为 False, 任 何 非 空 集 合 为 真 值 】 思 考 : 字 典和 集 合 都 是 用 ,那 么 如 何 定 义 一 个 空 的 集 合 ? a= #这 样 是 定 义 一 个 空 字 典 , 也 可 用 a=dict() type(a) a=set() #定 义 一 个 空 集 合 type(a)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号