python字典和集合对象可以进行索引_五、Python-字典与集合

字典是一系列键-值对,每个键都与一个值想关联,可以用键来访问与之关联的值,与键相关联的值可以是数字、字符串、列表乃至字典(Python可以将任何对象作为字典中的值),Python中,字典用“{}”表示

一、字典的创建和删除:

直接赋值创建:dictionary = {'key1':'value1','key2':'value2','key3':'value3'…}

在创建字典时,键(key)必须是唯一的,值(value)可以不唯一,一个键可以有多个值

列表创建:

eg:

key = ['che','chen','cheng','chi']

value = ['车','尘','称','吃']

zip1 = zip(key,value) #转换为zip对象

word = dict(zip1) #使用dict转换zip1为字典

word= dict(zip(key,value)) #转换为字典

word = {key:value} #该方法,key必须为元组,不能为列表

print(word) #显示字典

#zip方法可将多个列表和援助对应位置的元素组合成元组,并返回包含这些内容的zip对象

(想得到元组可使用tuple()函数转换为元组,列表可用list()函数得到)

eg:通过给定键-值对创建

dict1 = dict(che ='车',chen = '尘',cheng = '称',chi = '吃')

创建空字典:word = {} 或word = dict()

创建只有key的字典:

name = ['che','chen','cheng','chi']

dictionary = dict.fromkeys(name) ---fromkeys()方法

print(dictionary)

删除整个字典:del name

删除字典元素:name.clear()

删除指定key的元素:name.pop(key值)

二、通过键值对访问字典

直接输出:print() ---列出字典所有元素

通过键值指定输出:print(name["che"] if ["che"] in name else "地点不存在该值")

字典对象获取:print(name.get("che")) ---get获取时,如果指定的key不存在,则显示None

print(name.get("ch","没有该值"))

---“,”后面为默认值,只在key不存在时显示该值(不写默认值,则显示None)

三、遍历字典:items方法

name = {'che':'车','chen':'尘','cheng':'称','chi':'吃'}

print(name.items())

for item in name.items():

print(item) #直接显示

for key,value in name.items():

print(key,"的值是",value) #显示key和value

for key in name.keys():

print(key) #只显示键(使用keys方法)

for value in name.values():

print(value) #只显示值(使用values方法)

四、添加修改及删除字典

添加/操作:dictionary[key] = value #字典名[键] = 值(不唯一,可以为任何对象)

当key已经存在的时候,执行修改动作,不存在时执行添加操作

删除字典的元素:del name[key] #删除字典name中键为key的元素

一般要删除之前需要判断是否存在该元素

eg:if "碧琪" in sign:

del sign["碧琪"]

五、字典推导式:类似于列表推导式(把“[]”换成“{}”)

{键表达式:值表达式 for 循环}

eg:生成包含四个随机数的模块

import random #导入随机数模块

randomict = {i:random.randint(10,100) i in range(1,5)}

print(randomict)

#randint(10,100)表示从10-100随机取数

eg:name = ['绮梦','冷尹一','香凝','黛兰']

sign = ['水平','射手','双鱼','双子']

dict1 = {i:j for i,j in zip(name,sign)} #字典推导式

print(dict1)

六、集合(set,set为可变集合):

用于保存不重复元素,最好的应用是去重,当有多个元素相同时,只会显示一个,且集合是无序排列,不支持索引,集合一般使用“{}”或大写的拉丁字母表示

集合的创建:

直接创建:set1 = {元素1,元素2,元素3…}

set1 = {'水平','射手','双鱼','双子'}

创建空集合:set2=set() #创建空集合只能使用set方法,不能直接使用{}

将列表转换为集合:set3 = set(name) #如果列表有重复元素,则自动过滤,只生成一条

集合添加元素:setname.add(element) ---不能添加重复元素(会自动过滤)

#集合名称.add方法(要添加的对象(不能是列表、元组等不可迭代对象))

mr = set(["零基础学Java","零基础学Android","零基础学C语言","零基础学PHP"])

mr.add("零基础学Python")

print(mr)

集合元素的删除:remove删除一个指定元素,pop方法随机删除一个元素,clear方法清空元素

mr.remove("零基础学Python") #使用时一般需要先判断元素是否存在于集合中

mr.pop() #该方法要返回删除的值(返回被删除的值) a = mr.pop()

mr.clear()

del mr #删除整个集合

集合的交集:多个集合相交的部分(用&表示)

集合的并集:在多个集合出现过或只在某一个集合中出现(用|表示)

集合的差集:只在A集合中出现,不在B集合中出现(用-表示)

集合的对称差集:只在其中一个集合中出现(用^表示)

python = {"绮梦","冷依依","香凝","紫萱"}

c = {"冷依依","林语","紫萱","圣博"}

print("选择Python的名字",python)

print("选择C的名字",c)

print("交集运算",python&c)

print("并集运算",python|c)

print("差集运算",python-c)

print("对称差集运算",python^c)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值