找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
元组
元组定义:()小括号
类型:tuple
元祖是不可变得(定义好元组后不能够直接去修改元祖中元素)

元组中的元素只有1个的时候,一定要在后面加上一个逗号,如不加原始什么类型,打印出来就是什么类型
t=(1)
print(type(t))#
t1=(1,)#在元素后加逗号
print(type(t1))#

t=(1,2,3,4,5,6)#定义元组
print(type(t))#
t1=list(t)#通过list把元组转换为列表
print(type(t1))#
print(t1)#[1,2,3,4,5,6]
t1.append(7)#往列表中插入元素
print(t1)#[1,2,3,4,5,6,7]
t2=tuple(t1)#把列表转换为元组
print(type(t2))#
print(t2)#[1,2,3,4,5,6,7]

元组和列表的区别:
1、类型不同  list、tuple
2、定义不一样  列表[]、元组()
3、列表定义后是可以随意的增删改(元素不受保护)
      元组定义后是不可以随意的增删改(元素受保护)

#字符串转元组
a='hello'#定义字符串
a1=tuple(a)
print(a1)#('h', 'e', 'l', 'l', 'o')

#元组转字符串
t=(1,2,3,4,5,6)#定义元组
t1=t.__str__()#
print(t1)#(1, 2, 3, 4, 5, 6)

元组也是支持切片操作
t=(1,2,3,4,5,6)#定义元组
print(t[4])#5

字典
定义:{}花括号(大括号)
类型:dict
字典中:键值对,键是唯一,值可以不唯一
键和值用冒号分割;
键值对之间用逗号分隔
d={}#定义空字典
print(type(d))#

d1={'name':'zhangsan'}#定义字典,里面有一个键值对
print(d1)

d2={'name':''}#定义字典,字典中没有值一定要加上引号,否则会报异常
print(d2)

d1={'name':'zhangsan','age':1}#定义字典,多个键值对需要用逗号分隔
print(d1)

转换字典
t=('a',1)#定义元组
print(type(t))#
d=dict(t)#转换为字典
print(type(d))#不能转换字典

t1=[('a',1)]#定义列表
print(type(t1))#
d=dict(t1)#转换为字典
print(type(d))#
print(d)#{'a': 1}

添加键值对
d1={'name':'zhangsan','age':1}#定义字典
#原字典中没有相同的键,则会将键值添加到字典中
d1['score']=100#设置键值对
print(d1)#{'name': 'zhangsan', 'age': 1, 'score': 100}

d2={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
#原字典中有此键,会执行替换
d2['score']=90#设置键值对
print(d2)#{'name': 'zhangsan', 'age': 1, 'score': 90}

取值
#取键  keys
d2={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
k=d2.keys()#取出当前字典中所有键
print(k)#dict_keys(['name', 'age', 'score'])
print(type(k))#

#取值  values
d3={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
v=d3.values()#取出当前字典中所有值
print(v)#dict_values(['zhangsan', 1, 100])
print(type(v))#

#取指定键的值
d3={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
value=d3['name']#获取name这个键对应的值
print(value)#zhangsan

设置键值对
注:此方法执行后会进行判断,判断如果发现字典中没有此键则会把键值对设置到字典中。如原字典中有此键则不会执行替换
d3={'name': 'zhangsan', 'age': 1}#定义字典
d3.setdefault('score',100)#添加键值对
print(d3)#{'name': 'zhangsan', 'age': 1, 'score': 100}

d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
d4.setdefault('score',99)
print(d4)#{'name': 'zhangsan', 'age': 1, 'score': 100}

删除字典
#删除字典
d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
del d4#删除整个字典
print(d4)#报异常,因为字典已经被删除

#删除指定键及值
d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
del d4['score']#删除指定段
print(d4)#{'name': 'zhangsan', 'age': 1}

字典遍历  for  变量名 in 字典名
当前变量获取到的值为键,值不显示
获取值
d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
for i in d4:
    print(i)#name  age  score

d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
for i in d4:
    print(i,d4)#name zhangsan  age 1  score 100

通过items函数实现变量获取键值对
d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
for k,v in d4.items():
    print(k,v)

删除
d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
p=d4.pop('score')#删除score这个键,返回对应键的值
print(p)#100

清空字典
d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
d4.clear()#把字典中所有键值清除
print(d4)#{}空字典

获取指定键的值
如果没有指定的键则返回none
d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
n=d4.get('name')#获取name键对应的值
print(n)#zhangsan
print(d4.get('name'))#zhangsan
print(d4.get('a'))#None

给键指定值
d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
#不指定值
print({}.fromkeys(['name','age']))#{'name': None, 'age': None}
#指定值
print({}.fromkeys(['name','age'],'dcs'))#{'name': 'dcs', 'age': 'dcs'}

python2 has_key函数检查字典是否有指定的键存在
python3 _contains_函数检查是否有指定的键存在
有存在返回True  反之返回False
d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
print(d4.__contains__('name'))#True
print(d4.__contains__('na'))#False

删除字典中的键值对,并返回删除的数据(默认删除末尾)
d4={'name': 'zhangsan', 'age': 1, 'score': 100}#定义字典
print(d4.popitem())#('score', 100)
print(d4.popitem())#('age', 1)

更新把两个字典拼接形成新的字典
# d1={'name': 'zhangsan', 'age': 1}#定义字典
# d2={'score': 100}#定义字典
# d1.update(d2)#d1和d2进行合并
# print(d1)#{'name': 'zhangsan', 'age': 1, 'score': 100}

#存在相同键则执行替换
d3={'name': 'zhangsan', 'age': 1,'score': 10}#定义字典
d4={'score': 100}#定义字典
d3.update(d4)
print(d3)

把两个列表设置为字典
a=['a','b','c']#定义列表
c=[1,2,3]#定义列表
b=zip(a,c)#把两个列表拼接形成多个元组,索引值相同的为一个整体,如(’a’,1)
d=dict(b)#转换为字典
print(d)#{'a': 1, 'b': 2, 'c': 3}
print(type(d))#

集合
可变集合:set
不可变集合:frozenset

区别点:
相同点:都能够去重
不同点:
set去重后可进行增删改
frozenset去重后不可进行增删改

#可变集合
list1=[1,2,3,4,1]#定义列表
a=set(list1)#可变集合去重
print(a)#{1, 2, 3, 4}
a.add('zhangsan')#添加元素
print(a)#{1, 2, 3, 4, 'zhangsan'}

#不可变集合去重
list1=[1,2,3,4,1]#定义列表
a=frozenset(list1)#可变集合去重
print(a)#{1, 2, 3, 4}
a.add()#无法调用

分享至 : QQ空间
收藏

0 个回复

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