python(七)——元组、字典、Set、

217 阅读4分钟

目录

 

元组

元组的创建

元组元素的访问

获取最后一个元素可以使用下标为-1

元组可以连接

列表转元组

dict字典

key的特性

字典元素的访问:     字典名[key]

字典添加

字典删除pop()

遍历字典

例子:输入一个时间,输出下一秒的时间

Set


元组

元组的创建

元组使用小括号,列表使用方括号。

元组一旦初始化就不能再修改,而列表可以

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

创建空元组

tuple = ()
print(tuple)

创建带元素的元组,元组内元素的类型可以不同

tuple = (1,2,3,"aaf",True)
print(tuple)

定义只有一个元素的元组

tuple = (1,)
print(tuple)
print(type(tuple))

 

元组元素的访问

元组可以使用下标索引来访问元组中的值

格式:元组名[下标]

tuple = (1,2,3,4,5,"ad",7)
print(tuple[2])
print(tuple[4:7])

 

获取最后一个元素可以使用下标为-1

tuple = (1,2,3,4,5,"ad",7)
print(tuple[-1],tuple[-2],tuple[-7])

 

元组可以连接

tuple = (1,2,3)
tuple1 = (4,5)
print(tuple+tuple1)

 

列表转元组

list1 = [1,2,3]
tuple = tuple(list1)
print(tuple)

 

dict字典

概述:使用键值(key-value)存储,具有极快的查找速度

key的特性

1.字典中的key必须唯一

2.key必须是不可变的对象

3.字符串中、整数等都是不可变的,可以作为key

4.list可以改变,不能作为key

保存多位学生的姓名和成绩:

dict1 = {"zhangsan":20 ,"lisi":30,"wangwu":50}

字典元素的访问:     字典名[key]

dict1 = {"zhangsan":20 ,"lisi":30,"wangwu":50}
print(dict1["zhangsan"])

dict1 = {"zhangsan":20 ,"lisi":30,"wangwu":50}
print(dict1.get("zhengkai"))

None 

字典添加

dict1 = {"zhangsan":20 ,"lisi":30,"wangwu":50}
dict1["zhengkai"] = 100  #添加
print(dict1["zhengkai"])

字典key数值可以被覆盖

字典删除pop()

dict1 = {"zhangsan":20 ,"lisi":30,"wangwu":50}
dict1.pop("zhangsan")
print(dict1.get("zhangsan"))

遍历字典

dict1 = {"zhangsan":20 ,"lisi":30,"wangwu":50}
for i,v in enumerate(dict1):
    print(i,v)

 

例子:输入一个时间,输出下一秒的时间

time = input()
listtime = time.split(":") #以:为分隔符

h = int(listtime[0])
m = int(listtime[1])
s = int(listtime[2])

s += 1
if s == 60:
    s = 0
    m += 1
    if m == 60:
        m = 0
        h += 1
        if h == 24 :
            h = 0

print("%.2d:%.2d:%.2d" %(h,m,s))

 

Set

set类似dict,是一组key的集合,但是不存储value。

本质:无序和无重复元素的集合

创建set:需要一个list序列或者tuple元组或者dict字典作为输入集合

a = set([1,2,3,4,5])
print(a)

重复元素在set中会自动被过滤

a = set([1,2,2,3,4,3,5,4,5])
print(a)

set的元素不能是列表和字典,因为set不可变

a.add({9:'aaa'})
print(a)

update可以将列表、tuple和字符串打碎插入

a = set([1,2,2,3,4,3,5,4,5])
a.update([6,9])
a.update("ashiafji")
print(a)

remove删除,remove(元素值)

set没有索引

set的交集&

a = set([1,2,2,3,4,3,5,4,5])
b = set((2,3,8))
c =a & b
print(c)
print(type(c))

set的并集 |

a = set([1,2,2,3,4,3,5,4,5])
b = set((2,3,8))
c =a | b
print(c)
print(type(c))