set: 集合是 一 个 无 序 不 重 复 元素 的 集。 基 本 功 能 包 括 关 系 测 试 和 消 除 重 复 元 素 。大括号或 set() 函数可以用来创建集合。 注意:想要创建空集合,你必须使用set() 而不是 {} 。{}用于创建空字典;{} 实例如下:
set1=set() #创建空的集合
set2=set({11,12})
set3=set([1,2,3,4])
set4=set((1,2,3))
print("set1的类型:",type(set1))
print("set2的类型:",type(set2))
print("set3的类型:",type(set3))
print("set4的类型:",type(set4))
集 合 对 象 还 支 持 union( 联
合),intersection(交),difference(差)和 sysmmetric difference(对称差集)等数学运算。
a={"peace","peace","rong","rong","nick"}
b=set(["peace","peace","rong","rong"])
联合
:去 重,拼接
print(a|b) #执行结果 {'rong', 'nick', 'peace'}
交
:取共同拥有的元素
print(a&b) #执行结果 {'rong', 'peace'}
差
:取不同拥有的元素
print(a-b)#执行结果{'nick'}
对称差集:
print(a^b)#执行结果{'nick'}
内制函数:
add():有就添加,没有就不添加
b = set(["peace", "rong"])
b.add("mingtian")
b.add("peace")
print(b) 执行结果{'mingtian', 'peace', 'rong'}
remove():存在删除,不存在结果异常
clear():清空元素
pop( ):随机删除一个元素
set1=({"wer",2,3,4,5})
set2=set1.pop()#括号里没有参数否则报错
print(set1)
print(set2)#得到一个返回值
函数:
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
2.语法
def 函数名(参数列表):
函数体
def maicai(a,b):
c=a+b;
print(c) 执行结果25
maicai(12,13)
return()
return [表达式] 结束函数,选择性地返回一个值给调用方。可以返回多个值,返回的多个值组成一个元组,返回值加上一对中括号,则返回一个列表函数分为定义和调用。
def sort(a, b, c, d, e):
return[a, b, c, d, e]
a=sort(1, 4, 3, 6, 2)
print(a) #执行结果[1, 4, 3, 6, 2]
print(type(a)) #执行结果<class 'list'>
不带表达式的return相当于返回 None。
def hu(a,b):
a*b
c=hu(2,3)
print(c) #执行结果None
可更改(mutable)与不可更改(immutable)对象
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
a=1
a=4 a的值指向4, 1被抛弃。不是a的值改了是a生成了新的值
print(a) #结果4
通讯录管理系统(总结)方法一:(用字典编写)
#usr/bin/python
#-*-coding:utf-8-*-
flag=True;
User={'ok':'93849384','ko':'1232132'};
while flag:
print("\n\n=======通讯录管理系统=======")
print("1.增加姓名和手机")
print("2.删除姓名")
print("3.修改手机")
print("4.查询所有用户")
print("5.根据姓名查找手机号")
print("6.退出")
print("============================")
i=int(input("请选择:"));
if i==6:
flag=False;
elif i==1:
name= input('请输入姓名:');
phone= input('请输入手机号:');
User[name]=phone;#追加姓名及对应的手机号
elif i==2:
name=input("请输入姓名:");
if name in User:
del User[name]
# User.pop(name)
print("删除成功!")
else:
print("姓名不存在!")
elif i==3:
name = input("请输入姓名:");
if name in User:
new_phone=input("请输入手机号:")#存在,命名新的手机号
User[name]=new_phone;#追加新的手机号
print("更新成功!")
else:
print("姓名不存在!")
elif i == 4:
for k,v in User.items():#遍历用户名及对应的手机号
print(k,v) #打印输出
elif i==5:
name = input("请输入姓名:");
if name in User:
print("手机号是:",User[name])
else:
print("姓名不存在!")
方法二:(用列表)
#usr/bin/python
#-*-coding:utf-8-*-
'''
练习:创建2个列表 一个存姓名 一个存手机
=======通讯录管理系统=======
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
'''
flag=True;
names=['ok','ko'];
phones=['232323232','12312332'];
while flag:#条件成立执行循环
print("\n\n=======通讯录管理系统=======")
print("1.增加姓名和手机")
print("2.删除姓名")
print("3.修改手机")
print("4.查询所有用户")
print("5.根据姓名查找手机号")
print("6.退出")
print("============================")
i=int(input("请选择:"));
if i==6:
flag=False;#条件不成立退出循环
elif i==1:
names.append(input('请输入姓名:'));#追加姓名
phones.append(input('请输入手机号:'));#追加手机号
elif i==2:
name=input("请输入姓名:");#定义输入将要删除的名字
if name in names:#判断该名字是否存在
index=names.index(name);#存在,获取该名字的下标
names.pop(index);#删除该名字
phones.pop(index);#同时删除对应的手机号
print("删除成功!")
else:#不存在
print("姓名不存在!")
elif i==3:
phone=input("请输入手机号:");#命名已有手机号
if phone in phones:#判断手机号是否存在
new_phone = input("请输入新的手机号:");#存在,命名新的手机号
index= phones.index(phone)#获取手机号的下标
phones[index]=new_phone #追加新的手机号
print("修改成功!")
else:
print("手机号不存在!")
elif i == 4:
for i in range(len(names)):#遍历用户名
print(names[i],phones[i])#输出用户名及对应的手机号(名字和号码是一起对应录入的下标相同)
elif i==5:
name=input("请输入姓名:");#命名输入要查询的姓名
if name in names: #判断该名字是否存在
index=names.index(name);#获得该名字的下标
print("手机号:",phones[index])#打印该名字下标对应的手机号
else:#不存在
print("姓名不存在!")