`

二Python内置数据类型

阅读更多

一. dictionary

    dictionary是Python的内置数据类型之一,它定义了键值之间的一对一的关系。类似于perl中的hash,java中的HashMap。

 

    定义一个dictionary

#-------------------------------------------------------------------------------
# Name:        DictionaryTest
# Purpose:
#   Dictionary 是 Python 的内置数据类型之一,它定义了键和值间的一一对应关系
# Author:      zdk
#
# Created:     01/02/2013
# Copyright:   (c) zdk 2013
# Licence:     <your licence>
#-------------------------------------------------------------------------------

if __name__ == '__main__':
    #定义一个dictionary
    d = {"name":"zdk","age":18}
    print("the dictionary is :", d)
    #获取一个key对应的value
    print("the key is name and the value is:",d["name"])

    (1)首先我们创建了新的dictionary,它有2个元素,将变量赋值为d。每个元素都是一个key-value对;整个元素集合用大括号括起来。

    (2)name是一个key,它所关联的值通过d["name"]来引用。

    (3)当引用的key在d中不存在时会引发异常。

    (4)dictionary是无序的。

 

    dictionary的修改 

   #添加一个新的key-value键值对
    d["gender"] = "man";
    print("the new dictionary is :", d)
    #覆盖已存在的key的value值
    d["gender"] = "superMan";
    print("the new dictionary is :", d)
    #dictionary的key是大小写敏感的
    d["GENDER"] = "SuperMan";
    print("the new dictionary is :", d)

    (1)在任何时候都可以加入新的key-value对

    (2)在一个dictionary中不能有重复的key,给一个存在的key赋值会覆盖原来的值  

    (3)dictionary得key是大小写敏感的。

 

    从dictionary中删除元素  

    #删除元素
    del d["GENDER"]
    print("the  dictionary is :", d)
    d.clear();
    print("after all clear,the  dictionary is :", d)

    (1)del允许使用key从一个dictionary中删除独立的元素

    (2)clear从一个dictionary中清除所有元素,留下空的大括号。

 

 

二. list

    list是python中使用最频繁的数据类型,类似于perl中的数组或java中的ArrayList

    

#-------------------------------------------------------------------------------
# Name:        ListTest
# Purpose:
#   list是python中使用最频繁的数据类型,类似于perl中的数组或java中的ArrayList
# Author:      zdk
#
# Created:     01/02/2013
# Copyright:   (c) zdk 2013
# Licence:     <your licence>
#-------------------------------------------------------------------------------

if __name__ == '__main__':
    #定义一个list
    li = ["a", "b", "mpilgrim", "z", "example"]
    print(li)
    print(li[0])
    print(li[4])
运行结果 
['a', 'b', 'mpilgrim', 'z', 'example']
a
example

  

(1)首先我们定义了一个有5个元素的list。注意它们保持着初始的顺序,这不是偶然,list是一个用方括号包括起来的有序元素集合。

(2)list可以作为以0为下标开始的数组。任何非空list的第一个元素的下标总是0

(3)这个包含5个元素list的最后一个元素是li[4],因为列表总是从0开始。

 

    负的list索引和分片 

  #负的list索引
    print("li is: ",li)
    print("li[-1] is: ", li[-1])
    print("li[-3] is: ",li[-3])
    #list分片
    print("li[1:3] is: ",li[1:3])
    print("li[1:-1] is: ",li[1:-1])
    print("li[0:3] is: ",li[0:3])

 

运行结果 
li is: ['a', 'b', 'mpilgrim', 'z', 'example']
li[-1] is: example
li[-3] is: mpilgrim
li[1:3] is: ['b', 'mpilgrim']
li[1:-1] is: ['b', 'mpilgrim', 'z']
li[0:3] is: ['a', 'b', 'mpilgrim']

 (1)负数索引从list的尾部开始向前计数来存取元素。任何一个非空list最后一个元素总是li[-1]。

 (2)如果负数索引使你感到迷惑,可以这样理解:li[-n]==li[len[li]-n]。所以在这个list里,li[-3]==li[5-3]==li[2]。

 (3)你可以通过指定2个索引得到一个list的子集。

 (4)第一个索引指定了你想要的第一个元素,第二个索引指定了第一个你不想要的元素。

 

    分片的简写

 #分片的简写
    print("li[:3] is: ",li[:3])
    print("li[1:] is: ",li[1:])
    print("li[:] is: ",li[:])
运行结果 
li[:3] is: ['a', 'b', 'mpilgrim']
li[1:] is: ['b', 'mpilgrim', 'z', 'example']
li[:] is: ['a', 'b', 'mpilgrim', 'z', 'example']

 (1)如果左侧索引为空,则默认为0,如果右侧索引为空,则默认为list的长度。

 

    向list中增加元素 

#向list中增加元素
    print("before li.append(\"new\") is: ",li[:])
    li.append("new")
    print("after li.append(\"new\") is: ",li[:])
    li.insert(2,"new")
    print("after li.insert(2,\"new\") is: ",li[:])
    li.extend(["two","elements"])
    print("after li.extend([\"two\",\"elements\"]) is: ",li[:])

 

运行结果
before li.append("new") is: ['a', 'b', 'mpilgrim', 'z', 'example']
after li.append("new") is: ['a', 'b', 'mpilgrim', 'z', 'example', 'new']
after li.insert(2,"new") is: ['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new']
after li.extend(["two","elements"]) is: ['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']

 (1)append向list末尾增加一个元素

 (2)insert向指定索引增加一个元素

 (3)extend连接2个list

 

三. tuple

    tuple是不可变的list,一旦创建就不能以任何方式改变它

    

#-------------------------------------------------------------------------------
# coding:        utf-8
# Name:          TupleTest
# Purpose:      tuple是不可变的list,一旦创建就不能以任何方式改变它。
#
# Author:      zdk
#
# Created:     04/02/2013
# Copyright:   (c) zdk 2013
#-------------------------------------------------------------------------------

def main():
    #定义一个tuple
    t = ["a", "b", "mpilgrim", "z", "example"]
    print(t)
    print(t[0])
    print(t[-1])
    print(t[1:3])
    #tuple没有方法,不可以根据下标遍历,可以使用in检查某元素是否在tuple中
    print("a" in t)

if __name__ == '__main__':
    main()

    

运行结果
['a', 'b', 'mpilgrim', 'z', 'example']
a
example
['b', 'mpilgrim']
True

 (1)tuple比list操作速度快

 (2)如果对不需要修改的数据进行“写保护”

 (3)tuple可以是dictionary的key,list不行

 (4)tuple可以用在字符串格式化中,后面将会看到。

 

四. 汇总

    一条命令可以使用“\”作为续行符

   python的变量必须先赋值再使用,不然会抛异常

 

   一次多赋值

       v=('a','b','c')

        (x,y,z)=v

   v是一个三元素的tuple,并且(x,y,z)是一个三变量的tuple

     

    连续赋值: 

range(7)  #[0,1,2,3,4,5,6]
(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)
MONDAY  #0
TUESDAY #1

 字符串格式化

print("%s=%s" %(t[0],t[1]))

 (t[0],t[1])是一个tuple,+只拼接字符串,格式化输出类型与C语言的printf可以有%d,%f等,当时一个元素的tuple时,必须增加一个",",如print("%s" %(t[0],))

 

list映射

    li = [1, 9, 8, 4]
    print([elem*2 for elem in li])
    print(li)
    li=[elem*2 for elem in li];
    print(li)

 

运行结果
[2, 18, 16, 8]
[1, 9, 8, 4]
[2, 18, 16, 8]

 (1)循环遍历li,对每一个elem*2后追加到新的list中

 (2)elem*2不影响原来的list

 

 

 

 

 

分享到:
评论

相关推荐

    python组合数据类型

    这些数据类型都是 Python 中的内置类型,广泛应用于数据处理和存储。 集合类型 集合类型是无序、唯一性元素的组合,可以是数字和字符串。集合类型的操作函数和方法有: * `S.add(x)`: 将 x 增加到集合 S 中 * `S....

    实验7 Python组合数据类型.pdf

    Python组合数据类型是Python编程语言中用于存储多个数据值的内置数据结构。在Python中,组合数据类型包括列表(List)、元组(Tuple)和字典(Dictionary)。这三种类型各有其特点,可以存储不同类型的数据,包括...

    Python内置数据类型详解

    通常来说Python在编程语言中的定位为脚本语言——scripting language 高阶...Dictionary是Python的内置数据类型之一,它定义了键和值之间的一对一关系。 其实就是通常所说的哈希数组。 Dictionary的简单定义:Dic={‘Ke

    python核心数据类型-数字demo

    Python内置函数`bin()`, `oct()`, `hex()`用于将整数转换为二进制、八进制和十六进制字符串,而`int()`函数可以将这些字符串再转换回整数。 **位运算** Python支持位运算,如按位与(&)、按位或(|)、按位异或(^...

    Python-内置数据类型.zip

    ==================内置数据类型========================= 第二章 009.程序的构成 010.对象的基本组成和内存示意图 011.引用的本质_栈内存和堆内存_内存示意图 012.标识符_帮助系统的简单使用_命名规则 013....

    04 Python中的内置数据类型.docx

    在Python编程语言中,内置数据类型是其核心组成部分,提供了丰富的数据结构来处理各种类型的信息。本章将详细探讨Python中的内置数据类型及其特性。 首先,我们有四种基本的数值类型:`int`(整型)、`float`(浮点...

    Python内置的字符串处理函数

    Python内置的字符串处理函Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。

    python输出数据类型 - 大学课件PPT

    Python提供了丰富的内置数据类型,使得编写代码更为灵活和高效。本课件主要涵盖了Python数据类型的介绍,以及Python执行模型、解释器和版本差异等概念。 首先,Python因其可读性和维护性而受到青睐。它的语法简洁...

    Python内置数据结构的分析和应用.pdf

    Python内置数据结构是该语言的重要组成部分,它决定了Python在数据处理和算法实现上的高效率和简洁性。本文分析了Python中的内置数据结构,探讨了如何利用这些数据结构解决实际问题,并给出了相应的应用实例。 首先...

    8个超级好用的Python内置函数.pdf

    sorted()是Python内置的高效排序函数,适用于多种数据类型。 7. enumerate()函数: enumerate()函数是Python中常用的内置函数,它可以将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在...

    python内置函数大全

    在Python编程语言中,内置函数是不需要导入任何模块就可以直接使用的函数,它们...以上仅为Python内置函数的一部分知识点,Python的内置函数和模块非常丰富,为程序员提供了强大的工具库,使得编写程序更加高效和方便。

    python内置函数

    ### Python内置函数详解 Python作为一门强大的编程语言,拥有丰富的内置函数来支持各种操作需求。本文将详细介绍Python中的一些常用内置函数,分为四个部分:常用函数、内置类型转换函数、序列处理函数以及String...

    python编程基础知识-基本数据类型ppt课件.ppt

    Python编程基础知识涵盖了许多核心概念,其中最重要的是基本数据类型。这些数据类型构成了Python代码的基础,用于存储和操作各种形式的信息。下面将详细讲解这些数据类型。 1. **数字类型** - **整数(int)**:如...

    材料4.二级 Python 核心数据类型基础.pptx

    在"二级 Python 核心数据类型基础"的学习资料中,我们将深入理解这些概念及其操作。 首先,**列表**是Python中最常用的数据结构之一,它是一个有序的、可变的元素集合。你可以通过索引来访问或修改列表中的元素。...

    python版数据结构学习

    讨论了Python内置数据结构(如列表和字典)的性能特点,并分析了它们在不同情况下的表现。 ##### 2.6 列表 深入研究Python列表的工作原理,包括其内部实现机制以及常见操作的复杂度分析。 ##### 2.7 字典 同样,本...

    Python之数据类型和变量共13页.pdf.zip

    它支持多种内置数据类型,包括: 1. 整型(int):如1、2、3等,无小数部分。 2. 浮点型(float):如3.14、2.718等,包含小数部分。 3. 字符串(str):用引号包围的文本,如'hello'、"world"。 4. 布尔型(bool)...

    python输出数据类型.zip

    在Python中,我们可以使用内置的`type()`函数来检查变量的数据类型,`isinstance()`函数则可以检查一个对象是否属于特定的类或数据类型。此外,还有`int()`, `float()`, `str()`等类型转换函数,用于将一种数据类型...

    Python 介绍数据类型、数据类型转换以及基本的输入输出操作.docx

    #### 二、基本数据类型 Python 提供了几种基本的数据类型,这些类型是构建程序的基础: 1. **整数 (int)**:用于表示整数值,如 `42`、`-3`。 - **特点**:不包含小数部分,可以是正数也可以是负数。 - **示例**...

    python基础教程之基本内置数据类型介绍-电脑资料.pdf

    Python是一种高级编程语言,以其简洁明了的语法和丰富的内置数据类型著称。在Python中,数据类型是组织和处理信息的基本方式。以下是对标题和描述中提到的Python基本内置数据类型的详细介绍: 1. **整型(int)**:...

Global site tag (gtag.js) - Google Analytics