Python基础——字典

字典

概念:一系列键—值对组成,可嵌套,类似结构体

表示方法:花括号{“A”:1,B:“2”}

基础操作: 可以把键简单理解为一种下标

  1. 访问值:字典 [ 键 ]
  2. 修改值:字典 [ 键 ] = 值
  3. 添加键值对:字典 [ 新键 ] = 值
  4. 删除键值对:del 字典[键] 永久删除
dict = {
    'a':"C语言",
    'b':"python",
    'c':"python",
}
print(dict['a'])     #访问键为’a'的值
dict['b'] = "C++"    #将键为'b'的值设置为”C++“
dict['d'] = "Java"   #新增键值对
del dict['a']        #删除键为'a'的键值对

print(dict)

输出:
C语言
{'b': 'C++', 'c': 'python', 'd': 'Java'}

遍历:

  1. 所有键:字典.keys() 返回包含所有键的列表
  2. 所有值:字典.values() 返回包含所有值的列表
  3. 所有键值对:字典.items() 返回包含所有键值对的列表
dict = {              #定义字典
    'a':"C语言",
    'b':"python",
    'c':"python",
}

print(dict.keys())           #返回键集合
print(dict.items())          #返回值集合

for key in dict.keys():      #输出键集合
    print(key, end='')
print("")

for value in dict.values():  #输出值集合
    print(value, end='')
print("")

for k,v in dict.items():      #一块遍历键值对,k为键,v为值
    print("%s喜欢%s" %(k,v))

输出:
dict_keys(['a', 'b', 'c'])
dict_items([('a', 'C语言'), ('b', 'python'), ('c', 'python')])
abc
C语言pythonpython
a喜欢C语言
b喜欢python
c喜欢python

列表去重:set(列表)

dict = {              #定义字典
    'a':"C语言",
    'b':"python",
    'c':"python",
}

for value in set(dict.values()):  #输出值集合,set集合是独一无二的
    print(value)

输出:
python
C语言

嵌套

1. 列表中嵌套字典:字典列表

用法:[ 字典名1,字典名2,……]

应用:网站每个用户是一个字典,将所有用户字典存入user用户列表中,方便遍历统一处理信息

#创建一个存储外星人的空列表
aiens = []

#创建30个外星人字典,存入列表
for aien_number in range(30):
    new_aien = {"color":"greeen", "speed":"slow"}
    aiens.append(new_aien)

#列表中取出前5个外星人字典,并输出
for aien in aiens[:5]:
    print(aien)

#访问元素字典中的值,前一个为列表索引,后面为键
for num in range(5):          
    print(aiens[num]["color"])

输出:
{'color': 'greeen', 'speed': 'slow'}
{'color': 'greeen', 'speed': 'slow'}
{'color': 'greeen', 'speed': 'slow'}
{'color': 'greeen', 'speed': 'slow'}
{'color': 'greeen', 'speed': 'slow'}
greeen
greeen
greeen
greeen
greeen

2. 字典中嵌套列表:列表字典

用法:{键:值,键:列表,……}

应用:描述3位同学喜欢的编程语言,一个同学可能喜欢好几种,字典的值(编程语言)是列表

fav_lans = {
    "小明": ["python"],
    "小华": ["C++", "python"],
}

for keys,values in fav_lans.items():
    print(keys)                             #print("%s,%s" %(keys,values))
    for value in values:                    #小明, ['python']
        print(value)                        #小华, ['C++', 'python']

#把问题想象简单点,keys即字符串,values即列表
#建议在列表字典中,所有的值均写作列表的形式

print(fav_lans["小华][0])       #输出:C++

输出:
小明
python
小华
C++
python

3. 列表中嵌套列表:[ [“a”,“b”], [“c”] ]

应用:类似二维数组,索引访问

liebiao = [["1","2"],[3,4,5],6.5,7]

for value in liebiao[1]:          #输出第二个列表[3,4,5],用索引访问大列表中元素
    print(value, end='')
print()

for num in liebiao:               #输出大列表中所有元素
    if isinstance(num,list):      #判断num是否为列表,是则for循环输出小列表内容,否则直接输出
        for value in num:
            print(value, end='')
    else:
        print(num, end='')
        
输出:
345
123456.57

4. 字典中嵌套字典:{ “a” : { xxx } ,“b” : { xxx } }

缺点:字典嵌套字典,代码很快复杂起来

users = {
    "小明":{
        "性别":"男",
        "爱好":"python"
    },
    "小红":{
        "性别":"女",
        "爱好":"C++"
    },
}
for user in users.values():    #返回小字典
    print(user["爱好"])        #根据键查值

输出:
python
C++
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,今天我们来学习Python字典(Dictionary)。 字典是一种无序的、可变的数据类型,它以键值对(key-value)的形式存储数据,其键(key)必须是唯一的,而值(value)可以是任意数据类型。字典用花括号{}表示,每个键值对之间用逗号隔开。 下面是一个简单的字典示例: ``` my_dict = {'name': '张三', 'age': 18, 'gender': '男'} ``` 这个字典,'name'、'age'、'gender'就是键,而'张三'、18、'男'就是相应的值。 可以使用`dict()`函数来创建一个字典,也可以使用`{}`来创建一个空字典。 接下来,我们来看一些常用的字典操作。 1. 访问字典元素 可以通过键来访问字典的元素,例如: ``` print(my_dict['name']) # 输出:张三 ``` 如果键不存在,则会抛出KeyError异常。 2. 修改字典元素 可以通过键来修改字典的元素,例如: ``` my_dict['age'] = 20 print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男'} ``` 3. 添加字典元素 可以通过键来添加字典的元素,例如: ``` my_dict['address'] = '北京市' print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男', 'address': '北京市'} ``` 4. 删除字典元素 可以通过键来删除字典的元素,例如: ``` del my_dict['gender'] print(my_dict) # 输出:{'name': '张三', 'age': 20, 'address': '北京市'} ``` 5. 字典长度 可以使用`len()`函数来获取字典的长度,例如: ``` print(len(my_dict)) # 输出:3 ``` 6. 字典遍历 可以使用`items()`方法来遍历字典的每一个键值对,例如: ``` for key, value in my_dict.items(): print(key, value) ``` 输出: ``` name 张三 age 20 address 北京市 ``` 通过上述操作,我们可以初步了解字典的基本用法。在实际应用字典是非常重要的数据类型,它可以用来存储和处理各种复杂的数据结构。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值