数据类型

数字

引号:
123 数值
'123' 字符串 整数:ini long 范围:(-2**31 - 2**31)
num = 123
长整型 long (L)
num = 123L
浮点型:float 复数型:

序列

字符串、列表、元组都属于序列

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

  • 索引操作可以从序列中抓取一个特定的项目
  • 切片操作可以从序列中获取一个切片,即序列的一部分

序列的基本操作

  • len() : 求序列的长度
    • : 连接两个序列
    • : 重复序列元素
  • in : 判断元素是否在序列中
  • max() ; 返回最大值
  • min() ; 返回最小值
  • cmp(x,y): 比较两个序列是否相等

字符串 str

字符串:
str = 'this is a string' 单引号
str = "this is a strting" 双引号
str = '''this is a string''' 三引号
str = """ this is a strtng """ 单双引号在python下没有区别
三重引号 除了能定义字符串(可包含换行符) 还可以用作注释

切片

适用于所有序列

In [9]: a = 'abcdef'

In [10]: a[0:2]
Out[10]: 'ab'
取下标0到2 下标为2的不显示
In [11]: a[:2]
Out[11]: 'ab'
取下标0到2 下标为2的不显示
In [12]: a[:-1]
Out[12]: 'abcde'
取下标0到倒数第1个 下标为倒数第1个的不显示
In [13]: a[::2]
Out[13]: 'ace'
步长为2,即取下标为0、2、4、6
In [14]: a[-3:-1]
Out[14]: 'de'
从倒数第3个取到倒数第1个,倒数第1个不显示
In [15]: a[-1:-4:-1]
Out[15]: 'fed'
反向切片,从倒数第一个取到倒数第4个,倒数第4个不显示
In [16]: a[-1:-4:-2]
Out[16]: 'fd'
反向切片,从倒数第一个取到倒数第4个,步长为2

总结:

a = "abcdef"

a[A:B:C]

A:切片开始的下标,包含
B:切片结束的下标,不包含
C:正数时表示步长
负数时表示进行反向切片及步长

元组 tuble

  • 元组和字符串一样是不可变的
  • 元组可以存储一系列的值
  • 元组通常肜在用户定义的函数能够安全的采用一组值的时候,即被使用的元组的值不会改变

定义元组;

t = tuble() 定义一个元组 多个元素用 ,号分格,元素可以是数字、字符串、列表、元组

t = (1,) 当只有一个元素时,需要加一个 ,号,不加则赋值为数字

t = () 定义一个空的元组

元组的拆分:

t = (1, 2, 3)

a, b, c = t 将元组的值 1, 2, 3 依次赋值给 a, b, c

方法:

count() 统计元素在元组中的个数

index() 返回元素中元素第一个出现在下标

列表 list

  • 列表是处理一组有序项目的数据结构,即可以在列表中存储一个序列的项目

  • 列表是可变类型的数据

  • 创建列表

    list1 = [] 创建一个空列表

    list2 = list() 使用list方法

    list3 = ['a', 1, ['a', 1]]

方法:

  • append() 追加

    L.append(object) -- append object to end

  • del list[n] 根据下标删除某个元素

  • remove() 删除列表里第一个出现在元素

    L.remove(value) -- remove first occurrence of value.

  • insert() 在某个场索引前插入一个元素

    L.insert(index, object) -- insert object before index

  • sort() 给列表陫序

    L.sort(cmp=None, key=None, reverse=False) -- stable sort IN PLACE;

    cmp(x, y) -> -1, 0, 1

  • reverse() 反转

    L.reverse() -- reverse *IN PLACE*

  • pop() 删除并返回指定下标的元素值,不指定默认删除最后一个

    L.pop([index]) -> item -- remove and return item at index (default last).

  • extend() 通过附加迭代元素来扩展列表

    extend list by appending elements from the iterable

字典

  • 字典是python中唯一映射的类型(哈希表)

  • 字典对象是可变的,但字典的键必须是不可变的对象,一个字典中可以使用不同类型的键值

  • 创建字典

    dict1 = {} 使用 {} 创建一个空字典

    dict2 = {'name':'li', 'age':10}

    dict3 = dict([('name','li'),('age', 10)])

    dict4 = dict('a'=10, 'n'=100)

  • 字典的方法:

  • keys() 获取所有key

    D.keys() -> list of D's keys

  • values() 获取所有 values

  • D.values() -> list of D's values

  • get() 获取key对应的值,不存在时可指定输出,默认为空

    D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.

  • has_key() 查看key是否存在

    D.has_key(k) -> True if D has a key k, else False

  • iitems() 转换为以(key, value)组成的列表

    D.items() -> list of D's (key, value) pairs, as 2-tuples

  • copy() 拷备

    D.copy() -> a shallow copy of D

  • clear() 清空字典

    D.clear() -> None. Remove all items from D

  • pop() 删除指定KEY的value并返回value,如果KEY不存在可以返回一个给定value,否则抛出导常

    D.pop(k[,d]) -> v, remove specified key and return the corresponding value.

    If key is not found, d is returned if given, otherwise KeyError is raised

  • update() 从字典或两个迭代对象更新字典

    D.update([E, ]**F) -> None. Update D from dict/iterable E and F.

    If E present and has a .keys() method, does: for k in E: D[k] = E[k]

    If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v

    In either case, this is followed by: for k in F: D[k] = F[k]

  • fromkeys() 使用序列生成一个字典,值默认为空,可指定

    dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v.

    v defaults to None.

python基础复习-1-2 数据类型-str、list、tuple、dict的更多相关文章

  1. day3------基本数据类型int, bool, str,list,tuple,dict

    基本数据类型(int, bool, str,list,tuple,dict) 一.python基本数据类型 1. int  整数. 主要用来进行数学运算 2. str  字符串, 可以保存少量数据并进 ...

  2. python基础复习

    复习-基础 一.review-base 其他语言吗和python的对比 c vs Python c语言是python的底层实现,解释器就是由python编写的. c语言开发的程序执行效率高,开发现率低 ...

  3. python基础之五大标准数据类型

    学习一门语言,往往都是从Hello World开始. 但是笔者认为,在一个黑框框中输出一个"你好,世界"并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常 ...

  4. Python基础复习面向对象篇

    目录 类与对象的概念 实例方法 实例变量 初始化方法 析构方法 常用内置方法 继承 类方法与静态方法 动态扩展类与实例 @property装饰器 概述 面向对象是当前流行的程序设计方法,其以人类习惯的 ...

  5. Python的四个内置数据类型list, tuple, dict, set

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...

  6. python基础-第二篇-基本数据类型

    一.运算符 1.算数运算: 算数运算符相信大家都不陌生吧,尤其是加减乘除,好!那我就带着大家看看最后三个,这三个到底是干什么玩意的? %,取两数相除的余数,看图: **,x的多少次幂,看图: //,取 ...

  7. Python基础语法,基本数据类型及相关操作

    ---恢复内容开始--- python文件 文件开头要有  #!/usr/bin/ python        --在linux中是告诉系统phthon的路径是在/usr/bin/ python目录下 ...

  8. Python基础之模块、数据类型及数据类型转换

    一.模块 1.标准库 不需要安装,直接调入使用的模块. import sys模块: import sys print(sys.path) #打印环境变量绝对路径 print(sys.argv) #打印 ...

  9. python基础(二)-------数据类型

    python开发基础篇(二)数据类型 python数据类型有: 1.数字 1.只能存放一个值 2.一经定义,不可更改 3.直接访问 主要的分类为:整型,长整型,(python2有长整型的概念Pytho ...

随机推荐

  1. css3 移入移出动画

    css: /*css3 鼠标移入移出动画 底部出现阴影层文字叙述*/ *{;} .div1{width:300px;height: 300px;text-align: center; backgrou ...

  2. windows下 eclipse搭建spark java编译环境

    环境: win10 jdk1.8 之前有在虚拟机或者集群上安装spark安装包的,解压到你想要放spark的本地目录下,比如我的目录就是D:\Hadoop\spark-1.6.0-bin-hadoop ...

  3. vs2017切换设计、拆分假死的解决

    今天安装了vs2017版把vs2015卸载了,原因就是vs2015运行webform后ajaxpro总是会出现time out现象.太难受了,所以决定体验一下新版本. 安装了vs2017后ajaxpr ...

  4. JavaScript页面跳转

    <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding=& ...

  5. Partial Class部分类

    Partial Class,部分类 或者分布类.顾名思义,就是将一个类分成多个部分.比如说:一个类中有3个方法,在VS 2005将该类中3个方法分别存放在3个不同的.cs文件中.这样做的好处:1.一个 ...

  6. 【题解】ZJOI2013蚂蚁寻路

    这题强呀……打了10+30暴力之后苦想1h并不会做……于是去看题解.看题解的时候又莫名各种看错,结果看了好久才懂……记录一下血泪史吧. 这题不难发现走出来的图形就是一个高低高低的城堡型图案,命名为高峰 ...

  7. [NOIP2018 TG D2T2]填数游戏

    题目大意:$NOIP2018\;TG\;D2T2$ 题解:在skip2004的博客基础上修改的,也是暴搜. 说明一下把vector改成数组并不可以通过此题,记录. 结论:在$m>n+1$时答案为 ...

  8. BZOJ2631 tree(伍一鸣) LCT 秘制标记

    这个题一看就是裸地LCT嘛,但是我wa了好几遍,这秘制标记...... 注意事项:I.*对+有贡献 II.先下传*再下传+(因为我们已经维护了+,不能再让*对+产生贡献)III.维护+用到size # ...

  9. 防恶意解析,禁止用IP访问网站的Apache设置

    一般来说,网站可以用域名和IP来访问.你的网站可以通过IP直接访问,本来这没什么问题,但是会有些隐患: 由于搜索引擎也会收录你的IP地址的页面,所以同一个页面搜索引擎会重复收录,造成页面的权重不如单个 ...

  10. Ubuntu修改grub启动顺序和启动时间

    sudo gedit /boot/grub/grub.cfg,输入密码,在弹出的文件中找到set default = "0",想要改为第N项默认就把0改成N-1 看到启动界面是第几 ...