python笔记——python数据类型

一、数据类型

1、核心数据类型:

  • 数字:int, long(python3.5已经没有), float, complex, bool
  • 字符:str, unicode
  • 列表:list
  • 字典:dict
  • 元组:tuple
  • 集合:set(可变集合),frozenset(不可变集合)
  • 文件:file

二、数字类型

python的数字字面量:整数,布尔型,浮点数,复数,所有数字类型均为不可变

数字操作:+ , -, *, /, //, **, %, -x, +x

三、列表

列表是一系列按照特定顺序排列的元素组成可以是字母、数字等;

在python中,列表用方括号[ ],来表示列表。作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。

1、列表的操作方法和函数

列表操作包含以下函数:
1、cmp(list1, list2):比较两个列表的元素
2、len(list):列表元素个数
3、max(list):返回列表元素最大值
4、min(list):返回列表元素最小值
5、list(seq):将元组转换为列表

列表操作包含以下方法:
1、list.append(obj):在列表末尾添加新的对象
2、list.count(obj):统计某个元素在列表中出现的次数
3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
5、list.insert(index, obj):将对象插入列表
6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7、list.remove(obj):移除列表中某个值的第一个匹配项
8、list.reverse():反向列表中元素
9、list.sort([func]):对原列表进行排序

10、list.append():  在列表末尾添加一个元素

2、访问元素列表及切片

列表的访问可以是标准输出,也可以是通过索引或切片使用列表中元素的值;

与字符串的索引一样,列表索引从0开始,如果是反序,最后一个元素是 “-1”,倒数第二个元素的列下标识 “-2”。

列表可以进行截取、组合等。

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
china = ["Chinese","yellowskin",960,16,"北京"]
#输出列表
print(china)
 
#输出特定值,如第二个元素,即索引为1的;
print(china[1])
 
#输出最后两个元素
print(china[-2:])
 
#输出前三个元素
print(china[:2])
 
#输出最后两个元素外的所有元素
print(china[:-2])
 
#输出第二到第五的元素;
print(china[1:4])
 
#列表输出可以结合字符处理方法
print(china[1].title())
print(china[1].upper())
#循环访问列表的元素:
for i in china:
    print(i)

3、修改、添加、删除列表元素

由于列表大多数情况下是动态的,那么他的元素、长度等都是不断变化的;

修改元素通过列下标直接赋值;

添加元素可以通过append()方法在末尾添加,可以通过insert()方法在特定位置添加;

删除元素可以通过pop()方法和del语句删除,当然你也可以通过del 删除整个列表;

#!/usr/bin/python
# -*- coding: UTF-8 -*-
china = ["Chinese","yellowskin",960,16,"北京"]
 
#将列表第二个元素修改为“blackeyes”
china[1] = "black eyes"
print(china)
 
#在列表末尾添加元素;
china.append("Changjian")
print(china)
 
#在第三个前插入一个元素:
china.insert(2,‘Shanghai‘)
print(china)
 
#列表中删除元素,del语句:
del china[-2]
print(china)
 
#pop()方法删除任意元素:
china.pop(2)
print(china)
 
#根据值删除元素
china.remove(960)
print(china)

输出结果:

[‘Chinese‘, ‘black eyes‘, 960, 16, ‘北京‘]

[‘Chinese‘, ‘black eyes‘, 960, 16, ‘北京‘,‘Changjian‘]

[‘Chinese‘, ‘black eyes‘, ‘Shanghai‘, 960,16, ‘北京‘, ‘Changjian‘]

[‘Chinese‘, ‘black eyes‘, ‘Shanghai‘, 960,16, ‘Changjian‘]

[‘Chinese‘, ‘black eyes‘, 960, 16,‘Changjian‘]

[‘Chinese‘, ‘black eyes‘, 16, ‘Changjian‘]

4、对列表进行排序

对列表进行排序的方法有

sort()        对列表进行永久排序;

sorted()              对列表进行临时排序

reverse()            倒着打印列表,永久排序,恢复时可以再次调用reverse()

len()                     取出列表的长度;

#!/usr/bin/python
# -*-coding: UTF-8 -*-
counts =[1,3,5,7,9,2,4,6,8,10]
counts1= []
for i incounts:
counts1.append(i)
print(counts1)
print(counts)
 
counts.sort()
print(counts)
 
print(sorted(counts1))
print(counts1)
 
counts1.reverse()
print(counts1)
print(len(counts))

5、遍历列表

5.1、for循环遍历列表和复制列表

counts =[1,3,5,7,9,2,4,6,8,10]
counts1= []
for i incounts:
counts1.append(i)
print(counts1)
print(counts)

5.2、创建数值列表

counts2 = [ j**3  for j in range(1,10)]
print(counts2)
type(counts2[2])

使用range创建数字列表

counts3 = list(range(1,21,2))

print(counts3)

type(counts3[2])

5.3、列表的简单统计

counter = list(range(1,21,2))

min(counter)

max(counter)

sum(counter)

四、元组

  • 元组看起来犹如列表,但使用圆括号()来标识。定义元组后,就可以使用索引来访问其元素;
  • 元组的遍历和列表一样可以使用for循环等;
  • 元组是不能修改其元素的,但可以给存储元组的变量赋值;
  • 括号()既可以表示元组,又可以表示数学公式中的小括号。所以,如果元组只有1个元素,就必须加一个逗号,防止被当作括号运算;
  • 元组与列表的区别,元组它的关键是不可变性。
  • 如果在程序中以列表的形式传递一个对象的集合,它可能在任何地方改变;如果使用元组的话,则不能。
  • 元组提供了一种完整的约束。

1、字典基本操作

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

  • 要获取字典中的值,可依次指定字典名和放在方括号内的键;如print(dict[‘key]’)
  • 要添加键-值对,可依次指定字典名、用方括号括起来的键和对应的值;
  • 使用字典存储大量数据或者编写能自动生成大量键-值得代码时,通常需要先定义一个空字典,如:dict = {}
  • 要修改字典中的值,可依次指定字典名、用方括号括起来的键以及与该键相关的新值;
  • 要删除键-值对,可使用del语句键对应的键-值对彻底删除。使用del语句必须指定字典名和要删除的键;

示例:

#coding:UTF-8
import string

#定义一个空字典dict1
dict1 = {}
#利用for循环给dict1赋值
i = 1
for word in string.ascii_lowercase:
	if i < 14:
		dict1[i] = word
	else:
		dict1[word] = i
	i += 1
print(dict1)

#访问字典中的值
print(dict1[13])
print(dict1[‘o‘])

#添加键-值对
dict1[27] = "error"
print(dict1[27])

#修改字典中的值
dict1[27] = "out of range"
print(dict1[27])

#删除键值对
print(dict1[‘z‘])
del dict1[‘z‘]
print(dict1)

2、遍历字典

在遍历字典前,先学习一下字典内置的函数和方法,在遍历时,结合函数和方法遍历输出;

python字典的函数。


方法


解释


len(dict)


计算字典元素个数,即键的总数。


str(dict)


输出字典以可打印的字符串表示。


type(variable)


返回输入的变量类型,如果变量是字典就返回字典类型。


dict.clear()


删除字典内所有元素


dict.copy()


返回一个字典的浅复制


dict.fromkeys(seq  [,value])


创建一个新字典,序列seq中元素作为字典的键,value(可选)作为字典所有键对应的初始值。--seq为一个列表;


dict.get(key[, default=None])


返回指定键的值,如果值不在字典中返回default(默认为none)


key in dict


如果键在字典dict里返回true,否则返回falsekey -- 在字典中要查找的键


dict.items()


以列表返回可遍历的(, 值列表。


dict.keys()


以列表返回字典中的所有值。


dict.setdefault(key, default=None)


get()类似, 但如果键不存在于字典中,将会添加键并将键值设为default


dict.update(dict1)


把字典dict1的键/值对更新到dict里。无返回值。


pop(key[,default])


删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。否则,返回default


         popitem()


随机返回并删除字典中的一对键和值。

#coding:UTF-8
import string

#定义一个空字典dict1
dict1 = {}
#利用for循环给dict1赋值
i = 1
for word in string.ascii_lowercase:
	if i < 14:
		dict1[str(i)] = word
	elif i > 14:
		dict1[word] = str(i)
	i += 1
print(dict1)

#遍历所有的键-值对
for key,value in dict1.items():
	print(key)
	print(value)
	print(dict1[‘1‘].upper())

#遍历字典中所有的键
for key in dict1.keys():
	print(key)

#按照顺序遍历字典中所有的键,可以用sorded()来实现
for key in sorted(dict1.keys()):
	print(key.upper() + "大爷的")

#遍历字典中多有的值,并使用set()方法去重;
dict1[‘27‘] = ‘a‘
print(dict1[‘27‘])
for value in set(dict1.values()):
	print(value)

print(dict1)

#字典的浅复制
dict2 =dict1.copy()
print(dict2)

#更新字典
dict3 = {}
dict3.update(dict1)
print(dict3)

#删除字典内所有的元素
dict1.clear()
print(dict1)

3、嵌套

字典除了单独使用外,经常会涉及到嵌套使用;列表、字典、元组等可以相互嵌套使用;

使用的方法和对应的列表、字典、元组的使用方法类似,不多做说明;

时间: 2024-10-11 07:12:44

python笔记——python数据类型的相关文章

python笔记一 数据类型基础

Python3中 有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元祖) Sets(集合) Dictionary(字典) Number(数字) Python3 支持 int.float.complex(复数). 在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long. bool分为:True .False String(字符串) python中的字符串用单引号(')或双引号(")括起来,同时使用饭斜杠

[Python笔记]Python学习笔记四

模块 在Python中,一个.py文件就是一个模块(Module) 使用模块的好处就是大大提高代码的可维护性,并且可以被其他地方引用. 同时可以避免函数名和变量名的冲突. Package(包) 每个包目录下面必须有一个 __init__.py文件 这个文件可以是空的,这个文件对应模块名就是当前目录名即包名 模块的使用 Python内置了很多模块 #!/usr/bin/env python # -*- coding:utf-8 -*- # 编写一个属于自己的模块 # 文件的第一个字符串被视为模块的

[Python笔记]Python学习笔记三

Python高阶函数 filter() 用于过滤序列 第一个参数接收一个函数,根据返回值来决定是否保留, True则留下,False则丢弃 def is_odd(n): return n%2 == 1 filter( is_odd, range(1,16) ) def not_empty(s): return s and s.strip() filter( not_empty, [ 'A', ' ', 'B ', None, ' ' ]) 内置sorted()函数用于列表排序 返回函数 将函数作

python笔记-python编程优化:常用原则和技术介绍

本人翻译自<Exper Python Programming> 'Premature optimization is the root of all evil in programming' -Donald Knuth    优化的三原则      让它跑起来先 一个非常常见的错误就是在编写代码之初我们就开始对代码进行优化.让人伤心的是这通常做的都是无用功,很多软件只有你跑起来了才会发现它真正的瓶颈在哪里. 站在用户的视角看问题 曾经有一个团队为了自己的项目跑起来更快加班加点最终达到了自己满意

python学习笔记03:python的核心数据类型

从根本上讲,Python是一种面向对象的语言.它的类模块支持多态,操作符重载和多重继承等高级概念,并且以Python特有的简洁的语法和类型,OOP十分易于使用.Python的语法简单,容易上手. Python程序可以分解成模块.语句.表达式以及对象.1.程序由模块构成.2.模块包含语句.3.语句包含表达式.4.表达式建立并处理对象. Python的核心数据类型如下: 对象类型                   例子 常量/创建                     数字 1234, 3.14

Python笔记_第一篇_童子功_5.Python数据类型之列表类型(list)

Python中序列是最基本的数据结构.序列中的每个元素都分配一个数字(他的位置或者索引),第一个索引是0,第二个索引是1,依次类推.Python的列表数据类型类似于C语言中的数组,但是不同之处在于列表数据类型可以包含任何类型的元素.列表示Python最常用的数据类型之一,他可以以作为一个方括号内的逗号分割值出现.像字符串一样也具有增删改查的操作.因此列表是一个有序集合. 注意:如果列表当中只有一个元素的时候,比如[12, ],需要加一个逗号.目的是一面误解成数学计算意义上的括号. 1.   列表

&lt;潭州教育&gt;-Python学习笔记@基本数据类型

Python基本数据还有元祖和字典 元祖(tuple)是Python的基本数据类型,用()表示,元素之间用','隔开,元祖一旦创建,就不能改变 In [45]: s = ('Stone','Stone','Cathy') ###元祖可以有重复元素 In [46]: s Out[46]: ('Stone', 'Stone', 'Cathy') In [47]: s.count('Stone') ## 元素计数 Out[47]: 2 In [48]: s.count('S') ###没有的话返回0

整理python笔记

1.python笔记:while.if.for.编码 2.  模拟登陆 3.  python笔记:字符.列表.字典.元祖.数据类型

树莓派学习笔记——Python SQLite插入温度记录

0 前言 本文使用python向SQLite数据库中插入树莓派温度数据,SQLite数据库中包含一张只包含三个字段的记录表--参数名称,时间和温度值.本文重点解释Python操作SQlite的具体方法,由于网上资料众多,重复部分不再复述只做到具体情况具体分析. [相关博文] [树莓派学习笔记--索引博文]--更多博文请关注. [树莓派学习笔记--获取树莓派CPU温度] [树莓派学习笔记--定时向yeelink上传树莓派CPU温度] [树莓派学习笔记--SQLite操作简述] 1 创建数据库和空表