转载请注明出处: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. 手动创建DataTable并绑定gridview

    原文发布时间为:2008-08-04 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

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

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

  3. Android添加永不休眠选项

    很多朋友在使用TQ210做项目的时候都需要屏幕保持长亮,本文介绍如何修改TQ210 android源码,使系统可以永不休眠,代码如下: 1.添加英文选项 修改packages/apps/Setting ...

  4. Vijos 1323: 化工厂装箱员

    题形:DP 题意:A,B,C三种物品,一共N个,顺序摆放,按顺序拿.每次手上最多能拿10个物品,然后可以将某个类别的物品分类放好,再从剩下的拿,补全10个.问最少放几次,可以把所有物品分类好. 思路: ...

  5. CodeForces 380.C Sereja and Brackets

    题意 一串括号序列,只由(和)组成,然后是m个提问,提问l和r区间内,最大的匹配匹配括号数. 思路 第一,贪心的思想,用最正常的方式去尽量匹配,详细点说就是,先找到所有的(),然后删除这些(),再找所 ...

  6. (1)hello world

    操作系统安装SDK     https://www.microsoft.com/net/download/windows 选择对应的操作系统 wget -q https://packages.micr ...

  7. ML | SVM

    What's xxx An SVM model is a representation of the examples as points in space, mapped so that the e ...

  8. android中添加只有border-left的样式

    如何在android中的边框添加只有左边边框有颜色的样式呢 1. 相应的drawable文件 <?xml version="1.0" encoding="utf-8 ...

  9. Codeforces Round #317 [AimFund Thanks-Round] (Div. 2) Array 模拟

    题目链接:http://codeforces.com/contest/572/problem/A 题意 就给你两个数组,问你能不能从A数组中取出k个,B数组中取出m个,使得这k个都大于这m个. 题解 ...

  10. 板子-GOD BLESS ALL OF YOU

    字符串: KMP #include<cstdio> #include<cstring> ; ]; ]; int l1,l2; void get_next() { next[]= ...