每天十分钟Python学习--内置函数(4)

本节函数有:
dict(); set(); list(); tuple()

  • 映射类型--字典:将 hashable 值映射到任意对象。使用键-值(key-value)存储,具有极快的查找速度
    创建字典 {"one": 1, "two": 2, "three": 3}的几种方式:
a = dict(one=1, two=2, three=3)
b = {'one': 1, 'two': 2, 'three': 3}
c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))#将两个列表快速一一映射成字典
d = dict([('two', 2), ('one', 1), ('three', 3)])
e = dict({'three': 3, 'one': 1, 'two': 2})

len(d):返回字典 d 中的项数
d[key]返回对应的项
d[key]=value:对指定key赋值,若key已经有值,将其覆盖掉
key in d:判断d 中存在键 key 则返回 True,否则返回 False
dict.keys(), dict.values() 和 dict.items() 所返回的对象是 视图对象

dict_a=dict(Mike=10,Tom=8,Jhon=12)
dict_a.keys()# dict_keys(['Mike', 'Tom', 'Jhon'])
  • set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
set_a=set((1,1,2,3))
print(set_a)# {1, 2, 3}

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

set_a=set((1,2,3))
set_b=set((3,4,5))
print(set_a & set_b)# {3}
print(set_a | set_b)# {1, 2, 3, 4, 5}

廖雪峰--使用dict和set

  • list([iterable]):列表的使用可谓是十分广泛的,可以存储其他类型的书据
list_a=list((1,2,3))# [1, 2, 3]
list_b=[1,2,3]
list_c=[x for x in (1,2,3)]

pop()函数可以删除掉尾部的元素,insert()可以在指定索引号处插入数据,append()则是在尾部添加数据,sort()可以对列表元素进行排序

list_a=[x for x in (3,6,9,10)]
list_a.pop()
print(list_a)# [3, 6, 9]
list_a.append(10)
print(list_a)# [3, 6, 9, 10]
list_a.insert(1,20)
print(list_a)# [3, 20, 6, 9, 10]
list_a.sort()# list中不能出现str,而且得是系列数字,不能掺杂list或者tuple
print(list_a)# [3, 6, 9, 10, 20]
  • 另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,因此也没有insert()或者append(), pop()这样的方法,优点在于tuple数据不可变,使用更安全,它和list一样,不要求内部数据类型保持一致
    定义元组类型数据
tuple_a=(1,2,3)
tuple_b=()# 空元组
tuple_c=(1,)# 当元组中只有一个元素时,定义需要在元素后添加',',消除歧义

tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

tuple_d=(1,2,['hello','world'])
tuple_d[2][0]='Python'
tuple_d[2][1]='Learning'
print(tuple_d)# (1, 2, ['Python', 'Learning'])

廖雪峰的Python教程--list和tuple

你可能感兴趣的:(每天十分钟Python学习--内置函数(4))