python3学习日记——基本数据类型

基本数据类型

Python3 中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

序列

列表

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

# 例子
# 下标取值
animals = ['cat','dog','monkey']
animals[0] # 返回cat,列表从0开始
# 切片
animals[0:2] # 前闭后开截取下标从0开始到2结束(不包括2)返回的还是列表
# 结果是['cat','dog']
# 步长
animals[0::2]# 第三个参数是步长
# 结果是['cat', 'monkey']
# 成员运算符 in 判断某元素是否在列表中,返回Bool值
'cat' in animals # 返回结果是True
# 几个内置函数
len(animals) # 返回animals的长度,结果是3
max(animals) # 返回列表中的最大值,string类型的比较ASCII码值
# 添加
del animals[0] # 删除第1一个元素 返回的是列表
animals.pop() # 默认删除最后一个元素,返回删除的值
animals.append('fish') # 列表中添加‘fish’的元素
# 此外还有排序sort() 反转reverse() 清空列表 clear()等函数

元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

# 创建一个animals的元组
animals = ('cat','dog','monkey')
# 元组的不可变
animals[0] = 'fish'
# TypeError: 'tuple' object does not support item assignment
# 其他好多操作基本都和列表类似
# 一个注意点
a = (50)
type(a) # 返回的是int类型 这是因为与本身()的含义冲突了
# 如果要创建一个元素的元组
a = (50,) # 创建一个元素的元组

字典

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }

创建一个学生的字典
students = {
	'计算机一班': [
		{'name':'Tom','age':18},
		{'name':'Jack','age':19},
		{'name':'Mary','age':18}
		]
}
type(students)# 
# 取值
students['计算机一班'][0]['name']
# 上述代码的含义是先根据键'计算机一班'获得班级所有学生的列表,
# 然后选择第一个学生,最后根据键'name'获取学生的姓名Tom

# 修改Tom的年龄为20
students['计算机一班'][0]['age'] = 20
# 获取计算机一班的学生列表
students.get('计算机一班')

# 另外,字典类型还对应json格式
# 比如把students转换为json字符串
import json
json.dumps(students)
# 结果为
#'{"计算机一班": [{"name": "Tom", "age": 18}, {"name": "Jack", "age": 19}, {"name": "Mary", "age": 18}]}'

集合

集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

# 创建一个iphone的集合
iphones = {'iphone6sp','iphoneX','iphoneXS Max','iphone11'}
# 无序性意味着不能通过下标取值
iphones[1] # 报错 'set' object is not subscriptable
# 不重复意味着添加相同的元素集合不会有变化
iphones.add('iphoneX')
# {'iphoneXS Max', 'iphone11', 'iphoneX', 'iphone6sp'}

# 集合有交、并、亦或、差 分别对应 & | ^ -
a,b = {1,2,3},{1,2,5}
a & b # 取交集 {1, 2}
a | b # 取并集 {1, 2, 3, 5}
a ^ b # 取亦或 {3, 5}
a - b # 取差集 {3}

序列除了自己的特性以外,很多的其他操作都是类似的

你可能感兴趣的:(Python)