Python基础语法_Day13

74-字典之获取操作(get,items,values,keys)    

"# values: 取出字典中所有值,保存到列表中
result = dict2.values()
print(result)

# 求所有学生考试成绩平均分
for score in dict2.values():
    print(score)

scores = dict2.values()

totle = sum(scores)

avg = totle/len(scores)

print(avg)"        

"# keys(): 获取字典中的所有key键   (键值对)
names = dict2.keys()
print(names)

for name in names:
    print(name)"    "# 找人: in   也可以用于字典操作    用于判断元素有没有在字典的key中出现

# 8 in list1  

print('王五' in dict2)

'''
 1. 根据key获取值,如果key在字典中没有存在则报出keyError
    dict[key] ---->  value
 2. 字典的内置函数: 
    get(key)  ----> value  如果取不到值则不会报错,则返回None
    get(key,default) ---> value 如果能够取到值则返回字典中的值,如果取不到则返回default的值
    
    items()---> list
    keys() ---> list
    values() ---> list

'''

# print(dict2['赵飞'])

print(dict2.get('赵飞',99))"    
    75-字典之删除操作    "# 删除:
list1=[3,7,9,0]

del list1[1]

print(list1)


dict1 = {'张三':100,'李四':100,'王五':89,'赵柳':99} 

del dict1['王五']

print(dict1)

# del dict1['haha']  # keyError

       
        "dict.pop(key[,default])

 "# 字典的内置函数:删除
# dict1.remove('李四')  不存在   报错的
# pop(key[,default]) ----> 根据key删除字典中的键值对,返回值是   只要删除成功,则返回键值对的值value
#pop的默认值,往往是在删除的时候没有找到对应的key,则返回default默认值"    "
result = dict1.pop('李四','80')  
print(result)

result = dict1.pop('张小三','字典中没有此键')
print('======>',result)

print(dict1)


print('*'*30)"
        "dict.popitem()

popitem():随机删除字典中键值对(一般是从末尾删除元素)  

dict1 = {'张三':100,'李四':100,'王五':89,'赵柳':99} 

result = dict1.popitem()
print(result)

print(dict1)

result = dict1.popitem()
print(result)

print(dict1)"    
        dict.clear()    "# clear() 同列表的clear()

dict1.clear()

print(dict1)"    

其他的内置函数:
"    "update()    []+[]  合并操作
fromkeys(seq,[default])  ---->将seq转成字典的形式 如果没有指定默认的value则用None
          new_dict = dict.fromkeys(list1)---》      {'aa': None, 'bb': None, 'cc': None}
                         ---> 如果指定default,则用default替代None这个value值
        new_dict = dict.fromkeys(list1,10)    ---》      {'aa': 10, 'bb': 10, 'cc': 10}"    "
# dict1 = dict1+dict2   报错的
# print(dict1)

dict1= {0:'tom',1:'jack',2:'lucy'}

dict2 = {0:'lily','4':'ruby'}

result = dict1.update(dict2)
print(result)

print(dict1)

list1 = ['aa','bb','cc']
new_dict = dict.fromkeys(list1,10)
print(new_dict)"

76-回顾    知识检测Week1    "回顾:
数据类型:
字符串:
 声明:
    ''
    """"
    ''' '''

 符号:
    +
    *
    in
    not in
    is
    not is
    []

 获取字符串元素:

 s = 'hello'
 s[0] ~ s[len(s)-1]

 切片:
 s[start:end[:step]]  包前不包后

 内置函数:
 lower()  upper()
 replace()
 split()  
 find()  rfind()  lfind()
 strip()  lstrip()  rstrip()
 join()
 isalpha()  isdigit()
 ...


‘容器’:
 
 列表: list  特点:  保存多个元素,元素有顺序。可以通过下标找到对应的元素。  
               可以增加,删除,修改元素,查询
 内置函数:
   append  extend  insert
   remove  pop      clear    , del
   sort  reverse  index   count


 元组: tuple  特点: 保存多个元素。 不可以增加,删除,修改元素。但是可以查询元素

 内置函数: index  count
 支持下标操作: t= (1,2,3)
  t[0],t[1:]

 字典: dict  特点: 键值对保存元素。 键是唯一的,而值不唯一。 可以支持对键值对的增删改查
 内置函数:
   增加(修改)键值对:  dict1={}    dict1[key]=value  
   删除键值对: dict1.pop()   dict1.popitem()   dict1.clear()
   查询: items()  values()  keys()


 集合: set 关键字   无序的不重复的元素
 作用: 不重复特点

77-集合操作之添加和删除    "# 不重复特点:
list1 = [3,5,8,9,1,8,4,2,5,8,9]

# 声明集合: set

s1 = set()  # 创建空集合,只能使用set()

s2 = {1,3,7}   # 字典: {key:value,key:value,....}  集合 {元素1,元素2,元素3,...}

print(type(s1))
print(type(s2))


#应用: 如果将一个列表快速去重 set()
s3 = set(list1)
print(s3)   # {1,2,3,4,5,...}"        
        "# 1. 增加   s1 = set()
s1.add('hello')

s1.add('小猪佩奇')

s1.add('lucy')

print(s1)


# add()  添加一个元素
# update()  可以添加多个元素,  

t1 = ('林志玲','言承旭')
s1.update(t1)  # {'hello','林志玲',....}

print(s1)

s1.add(t1)
print(s1)"        

"#2. 删除  remove 如果元素存在则删除,不存在则报错keyError    pop  随机删除(一般删除第一个元素)  clear。。。
#   dicard()  类似remove()   在移除不存的元素的时候不会报错。
s1.remove('言承旭')

print(s1)

# s1.remove('道明寺')   
# print(s1)

s1.pop()

print(s1)

s1.pop()

print(s1)


s1.clear()  # 清空

print(s1)"        

练习:

  1. 产生了10个1~20的随机数,去除里面的重复项
  2. 键盘输入一个元素,将此元素从不重复的集合中删除

import random 

# list1= []

# # set1 = set()

# for i in range(10):
# 	ran = random.randint(1,20)
# 	list1.append(ran)   # [3,5,8,1,1]


# # set1.update(list1)  # {3,5,8,1}.update([3,5,8,1,1])
# set1 =set(list1)

# print(list1)
# print(set1)


# num = int(input('输入一个数字:'))


# set1.discard(num)

# print('删除之后结果:',set1)



# 方式二:
# set1= set()

# for i in range(10):
# 	ran = random.randint(1,20)
# 	set1.add(ran)

# print(set1)


# num = int(input('输入一个数字:'))

# set1.discard(num)

# print('删除之后结果:',set1)

# 其他:符号操作    "# print(6 in set1)

set2 = {2,3,4,5,6}
set3=  {2,3,4,5,6,7,8}

print(set2 == set3)  # 判断两个集合中的内容是否相等

# 测试: print(set2 != set3) ??

# (+  * 不支持)   -  &  |

# set4 = set2+set3
# print(set4)


# set5= set2*2
# print(set5)

set4 = set3-set2   #差集  difference()
print(set4)


set5 = set3.difference(set2)
print(set5)"    

78-集合之交集并集差集    "# &  交集   intersection()  

set6 = set3 & set2
print(set6)

set7 = set3.intersection(set2)

print(set7)"        

"# |  并集  union()  联合

set8 = set3 | set2

print(set8)


set9 = set3.union(set2)

print(set9)"        

练习:

已知两个列表:
l1 = [5,1,2,9,0,3]
l2 = [7,2,5,7,9]

找出两个列表的不同元素

找出两个列表的共同元素

l1 = [5,1,2,9,0,3]
l2 = [7,2,5,7,9]

s1 = set(l1)
s2 = set(l2)

# 对称差集 

result = (s1 | s2) - (s1 & s2)

print(result)

result = s1 ^ s2  # 两个列表中不一样元素  symmetric_difference()

print(result)

79-集合对称差集和总结    " difference_update()

     s1 = s1.difference(s2)
     print(s1)
     相同
     s1.difference_update(s2)

 intersection_update()  交集并赋值
 union_update()   并集并赋值
 symmetric_difference_update()  对称差集并赋值"    "s1.difference_update(s2)

print(s1)"    
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值