请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
  • 便民服务
  • 关注我们
  • 社区新手
元组定义:()小括号定义
类型:tuple
元组是不可变的(定义好元组后不能直接修改元组中的元素)
t=(1,)
print(type(t))  #元组  
1、元素只有一个时 一定要后面打逗号 否则原始元素是什么类型 就为什么类型
t =(1,2,3,4,5,6)
2、不能直接进行增删改
3、往元组中增删改
元组改为列表,再将其转换回来
print (tuple(list(t)))
字符串转化为元组
s='hello'
print(tuple(s))
元组转化为字符串
t._str_()转化为字符串 :print(t._str_)

二、元组和列表区别
5、元组和列表的区别
相同:
a、都是序列类型的容器对象,可以存放任何类型的数据
b、支持切片、迭代等操作
不同:
a、list 是可变的对象,元组tuple是不可变的对象
b、tuple不可变,所以使用tuple可以使代码更安全

字典:
字典(dict):变量容器{key,value} 键值对
定义:
1、字典(
dict)字典定义{ }
类型:dict
字典中: 键值对,键唯一,值可以不唯一
每个键值key:value对用冒号 : 分割,每个键值对之间用逗号分割,

字典的定义方式:
方式一:
dict1={'name':'duoceshi','age':18} #通过{}直接定义
方式二:
dict1 = [('a',1),('b',2),('c',3)]
dict2 = dict(dict1) #通过dict()方法定义

字典中没值 要加 '  '
字典中常见的函数
1、添加一个键值对 dict1 = {"name":"xiaowang","age":"10"} dict1['sex']=1 如果字典里已经有这个键,旧数据将会替换 print (dict1)
2、取出键返回列表 dict1 = {"name":"xiaowang","age":"10"} print (dict1.keys())
3、取出值返回列表 dict1 = {"name":"xiaowang","age":"10"} print (dict1.values())
4、取出具体键的值 dict1 = {"name":"xiaowang","age":"10"} print (dict1['name'])
5、字典添加元素 setdefault()
  dict1 = {'name':xiaowang,'age':18}
  dict1.setdefault('sex','1')
  print (dict1)
注:如果插入数据键已经在字典里,插入是不生效的,默认值为空时,插入数据为None
6、删除字典
dict1 ={"name":"xiaowang","age":"18","sex":"1"}
del (dict1) print(dict1)
7、删除指定的键连同值也删除
dict1 ={"name":"xiaowang","age":"18","sex":"1"} del (dict1["name"]) print (dict1)
8、字典的遍历:(一个变量)
   for...in...遍历字典
       dict1 = {'name':xiaowang,'age':18}
       for key in dict1: print (key,dict1[key])
9、使用items() 完成遍历  (两个变量)
dict1= {'name':xiaowang,'age':18}
for key,value in dict1.items():
print (key,value)
10、pop(key)函数,删除指定键并返回删除的值
dict1 ={"name":"xiaowang","age":"18","sex":"1"}
print (dict1.pop("name"))
12、clear()清空字典所有项
dict = {'name':xiaowang,'age':18}
dict.clear()
print (dict) # 输出为空 键与建值都删除
13、get(key)方法,通过key获取值,当键不存在,返回None
dict = {'name':xiaowang,'age':18}
print (dict.get('name'))
14、fromkeys函数可以给具体的键指定值
dict1 = {'name':xiaowang,'age':18}
print ({}.fromkeys(['name','age'])) #不指定默认值
print ({}.fromkeys(['name','age'],'duoceshi')) #指定默认值全部为'duoceshi'
15、has_key(python2)、__contains__(python3) 函数检查字典是否有指定的键,有返回True没有返回False   
dict1 = {'name':xiaowang,'age':18}
print (dict1.__contains__('name')) #返回true,因为键存在
16、popitem函数随机返回并删除字典中的键值对(一般删除末尾对)
如果字典已经为空,却调用了此方法,就报出KeyError异常
dict1 = {'name':xiaowang,'age':18,'class':24}
print (dict1.popitem())
print (dict1)
17、update函数利用一个字典更新另外一个字典(拼接)
dict1 = {'name':xiaowang,'age':18}
dict2 = {"sex":1}
dict1.update(dict2)
print (dict1)
注意:如果要更新的元素项在原字典里存在,则把原来的项覆盖(替换)

18、ZIP 两个列表 拼接起来
然后转换dict为字典
list1=['a','b','c']
list2=[4,5,6]
l=zip(list1,list2)
print(dict(l))
   


集合:最重要的功能就是去重
1、可变集合set   后可以进行增删改
list1 = [1,1,1,88,88,'duoceshi','dcs']
set1 = set(list1)
print(set1)
去重后:
set1.add('dcs')    增
set1.remove('dcs')  移
set1.pop() #把最前面这个给删除了
set1.clear()    清除
print (set1)   
2、不可变集合frozenset  后不可以进行增删改
test = 'hello'
a = frozenset(test)
b = a.copy()
b.add('888') #报错AttributeError: 'frozenset' object has no attribute 'add'
print (b)


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册