一、容器

   1.list列表

     序列是python中最基本的数据结构,序列中的每个元素都分配一个数字,它的位置或索引,第一个索引是0,第二个索引是1,以此类推

    

Built-in mutable sequence.    #以一种可变的序列进行创建

If no argument is given, the constructor creates a new empty list.  
  #如果没有参数来提供,构造器会创建一个新的空的列表
The argument must be an iterable if specified.
  #如果指定参数,那么这个参数必须是可以迭代的量

     类表的数据项不需要具有相同的数据类型

       list创建

       添加元素(list only):append,extends

      删除元素(list only) :del,drop

     根据索引读写(tuple读写)

    判断容器是否为空

    字符串转换

    容器元素数量

    遍历

数组的遍历

#有一个数组,然后再任意给定一个值,找到数组中的两个数,使得他们的和等于给定的数
#如果找得到的话,就返回数组数组中这两个数的索引值,如果找不到的话,就返回-,-
def two_sum(numbers,target):
for i in range(len(numbers)):
for j in range(i+,len(numbers)):
if (numbers[i]+numbers[j]==target):
return i,j
return -,- print(two_sum([,,,,,,,,],))

  2.元组(只读列表)

#元组
t=(,,,'')
print(type(t))
t[]='a'
元组不支持赋值操作,也没有append()方法

  

Built-in immutable sequence.      #不可变的序列

    If no argument is given, the constructor returns an empty tuple.
    #如果没有参数提供,构造器会返回一个新的空元祖
If iterable is specified the tuple is initialized from iterable's items.
  #如果被指定为可以迭代的额,那么这个元组将会从可迭代的元素项进行初始化
If the argument is a tuple, the return value is the same object.
    #如果参数是一个tuple,那么返回的值就是同一个对象

  3.dict字典:字典中的每个键值(key=>value)对使用冒号(:)进行分割,每个键值对之间用逗号,进行分割,整个字典都包括在花括号({})中

#dict字典,key-value的结构,key和value可以是任意的值
d={'a':,'b':,:'one',:'two'}
print(type(dict))#<class 'type'>
print(type(d))#<class 'dict'>
print(d)#{'a': , 'b': , : 'one', : 'two'} #访问元素
print(d['a'])#访问对应的value值
print(d[])#访问对应的value值 #判断元素是否存在,就是判断key是否存在,一个key对应一个value,如果要一个key对应多个值,key值就用数组
print('a' in d)#判断'a'是不是在key中的
print( in d ) #删除元素
del(d[])
print(d) #查看字典的长度
print(len(d)) #遍历字典的key
for key in d:
print(d[key])
print('.........')
#遍历字典中的key,value
for key,value in d.items():
print(str(key)+':'+str(value)

  4.set集合:是一个无序不重复的元素集合,基本功能包括关系测试和消除重复元素,集合对象还支持union(联合)操作,difference(差)和sysmmetric(对称差集)等数学运算

  

 """
set() -> new empty set object #set()表示一个一个新的空的set(对象)
set(iterable) -> new set object #set(iterable)表示一个新的set对象 Build an unordered collection of unique elements. #创建的是一个无序的无重复元素的集合
# (copied from class doc)
"""

  5.python数据类型:empty和None之间的区别 

#向容器中添加元素,空和None是不是一回事
l_a=[] #l_a是一个空的列表
if not l_a:#如果l_a是空
print('Empty')#not xx和is None不是一回事
if l_a is None:#如果不是空
print('None')
最后结果:Empty
注意Empty和None不是一回事,即使是empty元素,但是在内存中还要有一些信息来进行相关的描述,至少分配一个类和内存空间来进行相关的计算,而None是都没有的

  6.切片

    (1)存取序列(列表,元组,字符串)的任意一部分

    (2)格式:seq[开始索引:结束索引:步长]

        默认值

        负数索引

        负数步长

#生成10个元素的数组的方法一
li=list(range())
print(li)
#方法二
li=[]
for i in range():
li.append(i)
print(li) #生成有10个0的数组
li=[]*
print(li)
#生成有10个1的数组
li=[]*
print(li ) #2维数组
li_2d=[[]*]*
print(li_2d)
#修改元素,修改每行的第一个元素
li_2d[][]=
print(li_2d) #深拷贝,修改元素只修改第一个元素
li_2d=[[]* for i in range()]
li_2d[][]=
print(li_2d) s={x for x in range() if x%==}
print(s)

    7.生成器

      (1)创建一个巨大的列表,但是只需要访问其中的少量的几个元素

      (2)...

      (3)..

      (4)生成生成器:列表推倒时用()替换[]

      (5)遍历:next或者for循环

  8.函数对象:   

    def func(a,b,c):  #返回的是一个函数对象
     print(a,b,c)
    print(type(func))  #返回的是 <class 'function'>
  9.模块
    在python中,模块也有类型
     import string
                
      print(type(string)) #<class 'module'>
  10.类
class MyClass(object):
pass
print(type(MyClass)) #自己定义类的类型是type类 my_class=MyClass()
print(type(my_class)) #对于自己实例化的一个类,这个类的类型是就是实例化类的类型   

  11.作业:反转单向链表

python学习笔记(7)容器以及容器的访问使用的更多相关文章

  1. Python学习笔记(2):数据库访问

    本来打算继续用Access的,但费了非常大的劲,还是没有搞定.回过头,发现使用sqlite,简单到令人发指.干脆,把C#的CommonCode往这边迁移,先把AccessDB搬过来再说. 类结构和C# ...

  2. Flutter学习笔记(10)--容器组件、图片组件

    如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 上一篇Flutter学习笔记(9)--组件Widget我们说到了在Flutter中一个非常重要的理念"一切皆为组件 ...

  3. Python学习笔记_Python对象

    Python学习笔记_Python对象 Python对象 标准类型 其它内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比較 对象身份比較 布尔类型 ...

  4. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  5. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

  6. python学习笔记之module && package

    个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...

  7. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  8. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  9. python学习笔记--Django入门0 安装dangjo

    经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...

  10. python学习笔记(一)元组,序列,字典

    python学习笔记(一)元组,序列,字典

随机推荐

  1. HTML5的新特性:范围样式,又叫做<style scoped>

    Chromium 最近实现了一个HTML5的新特性:范围样式,又叫做<style scoped> .开发者可以通过为根元素设定一个添加了scoped属性的style标签,来限制样式只作用于 ...

  2. 文件/大文件上传功能实现(JS+PHP)全过程

    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...

  3. CF F. Royal Questions kruskal

    每一个 $A$ 必须和指定的唯一的 $B$ 匹配,转化成图论关系就是 $A$ 和 $B$ 之间有若干条连边,每个边有一个边权,而该边权只能代表一对 $A,B$. 这其实就是一个基环树的结构. 所以只需 ...

  4. POJ 2229 sumset ( 完全背包 || 规律递推DP )

    题意 : 给出一个数 n ,问如果使用 2 的幂的和来组成这个数 n 有多少种不同的方案? 分析 :  完全背包解法 将问题抽象==>有重量分别为 2^0.2^1.2^2…2^k 的物品且每种物 ...

  5. 动态DP总结

    动态DP 何为动态DP? 将画风正常的DP加上修改操作. 举个例子? 给你一个长度为\(n\)的数列,从中选出一些数,要求选出的数互不相邻,最大化选出的数的和. 考虑DP,状态设计为\(f[i][1/ ...

  6. es的调优

    3.1.分片查询方式 当前的图片中有5个主分片,5个副本:这对于es的集群来说,这种配置是非常常见的: 但是问题来了,当我们的客户端做查询的时候,程序会向主分片发送请求还是副本发送请求? 还是说直接去 ...

  7. NSDate 那点事

    转载自:http://my.oschina.net/yongbin45/blog/150114 NSDate对象用来表示一个具体的时间点. NSDate是一个类簇,我们所使用的NSDate对象,都是N ...

  8. 大数据笔记(十五)——Hive的体系结构与安装配置、数据模型

    一.常见的数据分析引擎 Hive:Hive是一个翻译器,一个基于Hadoop之上的数据仓库,把SQL语句翻译成一个  MapReduce程序.可以看成是Hive到MapReduce的映射器. Hive ...

  9. GTID复制模式切换与传统主从复制间切换

    GTID复制模式切换到传统主从复制主从复制环境:主库:10.18.10.11从库:10.18.10.12MySQL5.7.22 切换之前查看下主从gitd_mode参数值主服务器:gtid_mode值 ...

  10. 007-elasticsearch5.4.3【一】概述、Elasticsearch 访问方式、Elasticsearch 面向文档、常用概念

    一.概述 Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上. Elasticsearch 也是使用 Java 编写的,它的内部使用 L ...