字典
字典的定义
dictionary(字典)是除列表以外python中最灵活的数据类型
字典同样可以用来存储多个数据
通常用于存储描述一个物体的相关信息
和列表的区别
列表是有序的对象集和
字典是无序的对象集和
字典用{}定义
字典使用键值对存储数据,键值对之间使用,分隔
键key是索引
值value是数据
键和值之间使用;分隔
键必须是唯一的(因为我们必须通过键来找到数据)
值可以取任何数据类型,但键只能使用字符串,数字或元组
字典的定义:
# 字典是一个无序的数据集和,使用print函数输出字典时,
# 通常输出的顺序和定义的顺序是不一致的
举例:
message_dict = {'name' : 'guodong',
'age' : 21,
'height' : 180,
'weight' : 70}
print message_dict
# 1.取值(中括号)
print message_dict['name']
# 2.增加/删除(中括号)
# 添加字典里面已经存在的元素,会将以前元素内容修改
message_dict['age'] = 22
print message_dict
# 增加
message_dict['sex'] = 'man'
print message_dict
# 删除(小括号)
message_dict.pop('sex')
print message_dict
运行结果:
message_dict = {'name' : 'guodong',
'age' : 21,
'height' : 180,
'weight' : 70}
# 1.统计键值对的数量
print len(message_dict)
# 2.合并字典,如果与原字典键值索引重复,则会被更新
sex_dict = {'sex':'man',
'grade':4}
message_dict.update(sex_dict)
print message_dict
# 3.清空字典
message_dict.clear()
print message_dict
运行结果:
从字典中取出特定键值对
message_list = [{'name':'guodong','age':21,'sex':'man'},
{'name':'lisi','age':22,'sex':'woman'}]
for k in message_list:
print '%s' % message_list[0]
for j in k:
print '%s -> %s' % (j,k[j])
运行结果:
元组
元组
元组的定义
Tuple(元组)与列表相似,不同之处在于元组的元素不能修改
元组表示多个元素组成的序列
元组在python开发中,有特定的应用场景
用于存储一串信息,数据之间使用,分隔
元组用()定义
# 列表中通常保存相同类型的数据,而元组中通常保存不同类型的数据
message_tuple = ('guodong',21,180,'guodong')
# 取值
print message_tuple[0]
# 统计计数
print message_tuple.count('guodong')
# 取索引
print message_tuple.index(180)
# 将元组转换成列表(列表可以添加修改元素)
message_tuple = list(message_tuple)
# 添加元素
message_tuple.append('liming')
# 再将转换的列表换回元组
message_tuple = tuple(message_tuple)
print message_tuple
运行结果:
列表
1.列表的基本操作
赋值类似于数组
删除元素 del x[n]
分片赋值 name[0:2]=[1,2]
2.列表方法
1.append 在列表末尾追加
2.count 统计某个元素在列表中出现的次数
3.extend 在列表末尾一次性追加另一个序列中的多个值
4.index(value) 找出匹配值第一次出现的位置
5.insert(index,value) 在索引处增加一个值
6.pop 移除一个元素并返回该元素的值默认为最后一个元素
7.remove(value) 移除列表中第一个匹配值
8.reverse 将列表中的值反向存放
9.sort(key,reverse) 对序列进行排序 从小到大
# sort:对列表中元素进行排序
num = [8,2,4,1,6]
print num
num.sort()
print num
运行结果:
# 对列表中的元素进行倒序排序
name = ['guo','liu','zhang','wang','Yang',1,3,5,6,3,1]
print name
name.sort(reverse=True)
print name
运行结果:
# 将列表中的元素排序打印
name = ['guo','liu','zhang','wang','Yang',1,3,5,6,3,1]
print name
print sorted(name)
print name
运行结果:
# 将列表元素倒序打印,不排序
name = ['guo','liu','zhang','wang','Yang',1,3,5,6,3,1]
print name
name.reverse()
print name
列表的遍历:
# 计算1-10的平方并且放入列表
num = []
for i in range(1,11):
num1 = i **2
num.append(num1)
print num
运行结果:
times = 0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if (i != j) and (j != k) and (k != i):
# print i,j,k
times += 1
print times