转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx

Python基本数据结构:列表,元组及字典

一、列表

一组有序项目的集合。可变的数据类型【可进行增删改查】

列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔。

列表中可以包含任何数据类型,也可包含另一个列表

列表可通过序号访问其中成员

常用列表操作:

list.append()追加成员,成员数据

list.pop()删除成员,删除第i个成员

list.count(x)计算列表中参数x出现的次数

list.remove()删除列表中的成员,直接删除成员i

list.extend(L)向列表中追加另一个列表L

list.reverse()将列表中成员的顺序颠倒

list.index(x)获得参数x在列表中的位置

list.sort()将列表中的成员排序

list.insert()向列表中插入数据insert(a,b)向列表中插入数据

可通过

>>>help(list) 查看方法详情

  1. print("-------list operations------")
  2. #列表操作
  3. l = [1,2,3,4,5]
  4. l2 = [7,8,9]
  5. print(l)
  6. #获得列表长度
  7. length = len(l)
  8. print(length)
  9. #追加一个元素,在列表最后一位
  10. l.append(6)
  11. print(l)
  12. #向列表中追加另一个列表
  13. l.extend(l2)
  14. print(l)
  15. #插入一个元素,在位置a
  16. l.insert(0,0)
  17. print(l)
  18. #将列表顺序颠倒
  19. l.reverse()
  20. print(l)
  21. #排序,从小到大
  22. l.sort()
  23. print(l)
  24. #统计某个元素出现的次数
  25. c = l.count(0)
  26. print(c)
  27. #查找某个参数在列表中的位置,未命中则抛异常
  28. i = l.index(1)
  29. print(i)
  30. #删除某个位置的成员
  31. l.pop(0)
  32. print(l)
  33. l.append(1)
  34. #直接删除某个值的成员,若有多个,删除第一个
  35. l.remove(1)
  36. print(l)

结果:

列表补充:2011-4-17

  1. #列表操作补充--切片操作
  2. example = [0,1,2,3,4,5,6,7,8,9]
  3. #打印某一区间 左闭右开
  4. print(example[4:8])
  5. #想包含最后一个
  6. print(example[4:])
  7. #包含首个
  8. print(example[:8])
  9. #所有的
  10. print(example[:])
  11. #第三个参数为步长
  12. print(example[1:8:2])
  13. #倒序输出
  14. print(example[::-1])
  15. #列表合并
  16. a = [1,2,3]
  17. b = [4,5,6]
  18. print(a+b)
  19. #替换
  20. ex = [1,2,3,4,5,6]
  21. ex[4:]=[9,8,7]
  22. print(ex)#将56换为987
  23. #插入
  24. ex[1:1] = [0,0,0]
  25. print(ex)
  26. #删除
  27. del ex[0:2]
  28. print(ex)
  29. #或者
  30. ex[6:]=[]
  31. print(ex)
  32. #比较
  33. one = [1,2,3]
  34. two = [1,2,3]
  35. print(one == two)#true
  36. print(one is two)#false
  37. #列表操作补充——字符串也是列表
  38. str = "abcdefg"
  39. print(str[0])
  40. #将一个字符串转为字符数组
  41. print(list(str))
  42. #字符串
  43. s = "abcdefg"
  44. #判断是否包含
  45. print('a' in s)
  46. #函数和模块
  47. import math
  48. #将一个变量指向一个函数
  49. se = math.sqrt
  50. print(se(81))

结果:

二、元组

不可变序列

元组是以圆括号“()”包围的数据集合,不同成员以“,”分隔

与列表不同:元组中数据一旦确立就不能改变

通过下标进行访问

声明:

L=(1,2,3)

含0个元素的元组: L = ()

含1个元素的元组:L=(1,) 注意有逗号

  1. #元组操作
  2. #声明
  3. o =('a','b','c',('d1','d2'))
  4. o1 = ()
  5. o2 = (1,)
  6. #访问
  7. print(o[0])
  8. print(o[3][0])
  9. #用于打印语句
  10. age = 22
  11. name = 'tom'
  12. print("%s is %d years old"%(name,age))

三、字典

键值对的集合(map)

字典是以大括号“{}”包围的数据集合

与列表区别:字典是无序的,在字典中通过键来访问成员。

字典是可变的,可以包含任何其他类型

声明:

M={k1:v1,k2:v2}

访问 M[k1]将得到v1

常用字典操作:

dic.clear()清空字典

dic.keys()获得键的列表

dic.values()获得值的列表

dic.copy()复制字典

dic.pop(k)删除键k

dic.get(k)获得键k的值

dic.update()更新成员,若成员不存在,相当于加入

dic.items()获得由键和值组成的列表

dic.popitem

可以通过

>>>help(dict) 查看详情

  1. #字典操作
  2. m = {'a':1,'b':2,'c':3}
  3. print(m)
  4. #读取某一个_通过key
  5. print(m['a'])
  6. #读取某一个,通过get方法
  7. print(m.get('b'))
  8. #复制字典
  9. m2 = m.copy()
  10. print(m2)
  11. #获取所有键的列表
  12. print( m.keys() )
  13. #获取所有值的列表
  14. print( m.values() )
  15. #获取所有键值对元组组成的列表
  16. print( m.items() )
  17. #更新成员,当对应键值不存在时,相当于加入
  18. m.update({'d':4})
  19. print(m)
  20. #删除某个成员
  21. m.pop('a')
  22. print(m)

四、序列的索引和切片

列表、元组和字符串都是序列

序列的两个主要特点是索引操作符和切片操作符。

索引操作符让我们可以从序列中抓取一个特定项目。即下标操作,用方括号和数字抓取某个位置的项目,L[0]抓取第一个元素,L[-1]抓取最后一个元素

切片操作符让我们能够获取序列的一个切片,即一部分序列。方括号加一对可选数字,切出某个子片L[1:3] 返回1-2的子片,L[2:]从2开始到最后,L[:]整个

Python笔记——基本数据结构:列表、元组及字典的更多相关文章

  1. python笔记十(列表生成式、字典生成式、生成器、生成器的并行)

    一.列表生成式 列表生成式就是python设置的可以用来可以生成列表的. 如要生成一个0-9的列表我们可以通过以下代码实现: >>> list(range(10)) [0, 1, 2 ...

  2. python笔记(1)--序列(列表 元组 range)

    一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...

  3. Python—列表元组和字典

    Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...

  4. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  5. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  6. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  7. Python自动化开发 - 字符串, 列表, 元组, 字典和和文件操作

    一.字符串 特性:字符串本身不可修改,除非字符串变量重新赋值.Python3中所有字符串都是Unicode字符串,支持中文. >>> name  = "Jonathan&q ...

  8. Python基础5:列表 元祖 字典 集合

    [ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...

  9. Python基础5:列表 元祖 字典 集合 Json

    [ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...

随机推荐

  1. 58同城职位分类数据 json

    { "level0": {"0": "销售", "1": "客服", "2": ...

  2. 2017 UESTC Training for Data Structures-解题报告

    题目链接:http://acm.uestc.edu.cn/#/contest/show/155 这个数据结构训练主要针对线段树,树转数组和并查集.比较适合刚入门数据结构的同学. 注意,因为后面题的代码 ...

  3. hdu 3478 Catch 二分图染色

    题目链接 题意 小偷逃跑,从某个点出发,每下一个时刻能够跑到与当前点相邻的点. 问是否存在某一个时刻,小偷可能在图中的任意一个点出现. 思路 结论 如果该图为连通图且不为二分图,则可能,否则不可能. ...

  4. 【Visual Studio】The project appears to be under source control, but the associated source control plug-in is not installed on this computer

    [问题描述]用 Visual Studio 2013打开一个项目时,出现下面错误: [问题原因]参考 http://codeverge.com/asp.net.web-forms/the-projec ...

  5. 转 整理 Linux服务器部署系列之一—Apache篇

    花了差不多一天,参考了几个博客,终于初步配成功了 Apache,先总结一下: 如果apache安装成为linux的服务的话,可以用以下命令操作: service httpd start 启动 serv ...

  6. 用户空间使用i2c_dev

    ============================================作者:yuanluluhttp://blog.csdn.NET/yuanlulu 版权没有,但是转载请保留此段声 ...

  7. LeetCode OJ--Insert Interval **

    https://oj.leetcode.com/problems/insert-interval/ 给出有序的区间来,再插入进去一个,也就是区间合并. 刚开始确立了几个思路,看要插入的区间的start ...

  8. logging模块配置共享以及使用文件配置

    1.配置共享 如果每个文件都配置logging,那就太繁琐了,logging提供了父子模块共享配置的机制, 会根据Logger的名称来自动加载父模块的配置.首先定义一个 main.py 文件: imp ...

  9. Noip2017赛前的一些记录

    前言 已经退役整整五个月了....选考以后终于又摸上了键盘.... 但是码力已经大不如前了........ 距离比赛也就只有一星期了....那就胡乱的做一些题目吧QAQ 这里是一些根据算法分类的咋杂题 ...

  10. java并发之hashmap

    在Java开发中经常会使用到hashmap,对于hashmap又了解多少,经常听到的一句话是hashmap是线程不安全的,那为什么是线程不安全的,如何才能保证线程安全,JDK又给我们提供了那些线程安全 ...