python基础语法 003-2 数据类型字典

1 字典

1.1 字典的表示

字典:也是存储多个数据的,存储多个数据,不记得第二个存储什么用字典,存储多个数据首推列表;

1.1.1 表示方法:

{‘key’ : 'value'},用逗号隔开

#列表表示
my_songs = ['花海', '棉花糖', '起风了','一闪一闪亮晶晶', '青花瓷']
print(my_songs)

print(my_songs[3])#表示喜欢的歌
print(my_songs[4])#表示不喜欢的歌
#列表的缺陷:列表存储多个数据的时候,不知道元素具体表达的含义
#字典能够表示除每个元素具体的意思

#字典的表示方法 {key: value,key1:walue1, key2:walue2},key不能重复,重复后面的值会吧前面的覆盖
#my_songs = ['花海', '棉花糖', '起风了','一闪一闪亮晶晶', '青花瓷']
my_songs = {"favor":"花海", "hated":"棉花糖", "listen_night":"起风了"}


-----结果 -----------------
['花海', '棉花糖', '起风了', '一闪一闪亮晶晶', '青花瓷']
一闪一闪亮晶晶
青花瓷

1.1.2 key是唯一的且不可变的

key用来指定value的内存地址,同样的key会指定同样的地址,所以只能获取一个value

#字典的key是有要求的,不能重复,c重复的前面会被后面覆盖
my_songs = {"favor":"花海", "favor":"棉花糖", "listen_night" : "起风了"}
print(my_songs["favor"])


----结果-----
棉花糖

1.1.3 key可以的类型

#字典的key应该是能够hash哈希,不可变的,不能赋值,一般使用字符串,也可以是其他的不可变的类型
my_songs = {[1]:"花海", "favor":"棉花糖", "listen_night" : "起风了"}


--------结果 -----
raceback (most recent call last):
  File "F:\pythonProject1\字典.py", line 18, in <module>
    my_songs = {[1]:"花海", "favor":"棉花糖", "listen_night" : "起风了"}
TypeError: unhashable type: 'list'

1.2 字典操作

1.2.1 长度,len()

my_songs = {"favor":"花海", "favor":"棉花糖", "listen_night" : "起风了"}
print(len(my_songs))

my_songs = {"favor":"花海", "hated":"棉花糖", "listen_night":"起风了"}
print(len(my_songs))

------结果 ----
2
3

1.2.2 索引和切片

和字符串不一样

my_songs = {"favor":"花海", "hated":"棉花糖", "listen_night":"起风了"}
#字典的索引 KeyError
#字典是没有索引的同样是没有切片的,通过key来找值
#如果有索引,代表有顺序,列表是有序的,而字典是无序的
#字典在内存中储存是乱序的,随机存

print(my_songs)

print(my_songs[0])#KeyError


-----结果--------------
{'favor': '花海', 'hated': '棉花糖', 'listen_night': '起风了'}
Traceback (most recent call last):
  File "F:\pythonProject1\字典.py", line 30, in <module>
    print(my_songs[0])#KeyError
KeyError: 0

my_songs = {0:"花海", "hated":"棉花糖", "listen_night":"起风了"}
print(my_songs[0]) #这个可以

-----------结果----------------
花海





#indexError:索引超出范围
#ValueError:传入参数错误
#KeyError:字典的key有问题

1.3 可变类型,可以做增删改查

my_songs = {"favor":"花海", "hated":"棉花糖", "listen_night":"起风了"}
p
#字典可不可以进行修改 =====》 字典时可变类型?
#只能根据key去操作
my_songs["favor"] = "可不可以"
print(my_songs)

#添加:如果key不在原来的字典当中,就是添加
#如果在,就是修改
my_songs["新的key"] = 'value'
print(my_songs)

#删除
my_songs.pop("favor")
print(my_songs)


----结果-----------------
{'favor': '可不可以', 'hated': '棉花糖', 'listen_night': '起风了'}
{'favor': '可不可以', 'hated': '棉花糖', 'listen_night': '起风了', '新的key': 'value'}
{'hated': '棉花糖', 'listen_night': '起风了', '新的key': 'value'}

1.4 字典函数操作

keys():获取所有key

values():获取所有value

items():获取key + value

my_songs = {'hated': '棉花糖', 'listen_night': '起风了'}
print(my_songs.keys())
print(my_songs.values())
print(my_songs.items()) 



--------结果 -----
dict_keys(['hated', 'listen_night'])
dict_values(['棉花糖', '起风了'])
dict_items([('hated', '棉花糖'), ('listen_night', '起风了')])

1.5 什么时候用字典?什么时候用列表?

可读性强的用字典

需要顺序用列表

"""
接口自动化测试:
测试用例
1:接口地址,请求方法,请求数据(参数)
数据1:/login,GET,yuez
数据2:/register,POST,kewang
数据3:/user,GET,123
有顺序的数据用列表,外层列表
可读性一一对应,用字典
"""

cases = [
   # [''/login'','GET','yuez'],
    {"url":"/login", "method":"get","date":"yuz"},
    '这是第二行数据',
    '这是第三行数据',
]

cases = [
    '这是第一行数据',
    '这是第二行数据',
    '这是第三行数据',
]

例子:将下列数据

t1 = ("aa", 11)
t2 = ("bb", 22)
t3 = [("cc", 11)]

变为字典格式

t1 = ("aa", 11)
t2 = ("bb", 22)
t3 = [("cc", 11)]

new_dict = {}
new_dict[t1[0]] = t1[1]
new_dict[t2[0]] = t2[1]
new_dict[t3[0][0]] = t3[0][1]
print(new_dict)


---结果 ------------
{'aa': 11, 'bb': 22, 'cc': 11}

 

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python基础语法数据类型包括数字、字符串、列表、元组、集合和字典。 1.数字:Python支持三种不同的数字类型:整型、浮点型和复数。其中,整型是指整数,浮点型是指带有小数点的数字,复数是由实数部分和虚数部分构成的数字。 2.字符串:字符串是Python中最常用的数据类型之一,用于表示文本。可以使用单引号或双引号来创建字符串。 3.列表:列表是Python中最常用的数据结构之一,用于存储一组有序的元素。列表中的元素可以是不同的数据类型,包括数字、字符串、列表等。 4.元组:元组与列表类似,也是用于存储一组有序的元素。不同之处在于,元组是不可变的,即不能修改元组中的元素。 5.集合:集合是Python中用于存储一组唯一元素的数据类型。集合中的元素是无序的,且不能重复。 6.字典字典Python中另一个常用的数据结构,用于存储一组键值对。字典中的键必须是唯一的,而值可以是任意数据类型。 下面是一个例子,展示了如何创建和使用Python中的各种数据类型: ```python # 整型 x = 10 print(type(x)) # 输出:<class 'int'> # 浮点型 y = 3.14 print(type(y)) # 输出:<class 'float'> # 复数 z = 2 + 3j print(type(z)) # 输出:<class 'complex'> # 字符串 s = "Hello, world!" print(type(s)) # 输出:<class 'str'> # 列表 lst = [1, 2, 3, "four", 5.0] print(type(lst)) # 输出:<class 'list'> # 元组 tup = (1, 2, 3, "four", 5.0) print(type(tup)) # 输出:<class 'tuple'> # 集合 s = {1, 2, 3, 4, 5} print(type(s)) # 输出:<class 'set'> # 字典 d = {"name": "Alice", "age": 25, "city": "New York"} print(type(d)) # 输出:<class 'dict'> ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值