python数据结构

python提供了大量的内置结构,包括了列表、元组、字典以及集合。

python列表

列表我们可以简单的把它理解为按照索引存放各种集合,在列表中,每一个位置代表一个元素。在python中,列表的对象方法是list提供的。

列表的特点:

  1. 可存放多个值。
  2. 列表是有序的。
  3. 按照从左到右的顺序定义列表元素,下标从0开始顺序访问。
  4. 列表是可变的,也就是说可以根据列表的索引位置来修改列表的值。

下面结合具体案例了解列表的工厂函数:

#append:添加的元素放在最后一位#新建一个列表
list1 = [1,2,3]
#使用append向list1中添加元素
list1.append(4)
print(list1)
# insert:根据自己的需求insert到列表的索引位置
# 新建一个列表
list1 = [1, 2, 3]
# 使用insert添加元素,insert方法会有两个参数insert(位置下标,元素值)
list1.insert(3, 4)
print(list1)
list1 = ['Java', 'Go', 'Python', 'PHP']
# count:列表中的对象在列表中存在几位
print('python在列表中存在几位:', list1.count('Python'))
# 寻找出对象的索引信息
print('Python在列表里面的索引信息:', list1.index('Python'))
# pop:默认删除列表里面的最后一位对象并且返回来
print('删除的对象返回来:', list1.pop())
# remove:在列表里面删除指定的元素信息
list1.remove('Python')
print('在列表里面删除Python的对象:', list1)
# 新增一个可interable的对象信息
list1.extend(['selenium', 'appium'])print('追加后的列表信息:', list1)
# clear 列表的清空
list1.clear()
print('清空后的列表内容:{0},列表⻓度:{1}'.format(list1, len(list1)))

python元组

上面介绍到列表是可变的,而元组刚好是不可变的,但是元组里对象的内容是可以可变的,这点需要特别注意。当元组里面的对象只有一个时,记得需要加“,”,如果不加的话,就不是元组的数据类型,是字符串的数据类型。

下面结合具体案例了解元组和元组的工厂函数:

'''
当元组里面的对象只有一个时,记得需要加“,”,如果不加的话,就不是元组的数据类型,是字符串的数据类型。
'''
tuple1=('Python',)
tuple2=('Python')
print('tuple1的数据类型:{0},tuple2的数据类型:{1}'.format(type(tuple1),type(tuple2)))
tuple1 = ('Python', 'Go', 'Java', ['Selenium','Appium'])  
# 显示一个对象在tuple里面的索引位置 
print('Go的索引位置:',tuple1.index('Go')) 
#显示一个对象在tuple里面的个数 
print('Go的个数:',tuple1.count('Go'))
'''
tuple的对象是不可以变化,但是里面对象的值可以改变。
'''
tuple1 = ('Python', 'Go', 'Java', ['Selenium', 'Appium'])
# 修改tuple第四个对象的值
tuple1[3][0] = 'WebDriver'
print('修改tuple对象的值:', tuple1)

当尝试修改元组里面对象的值的话,会报错。

Traceback (most recent call last):
File "/Applications/code/Yun/Issue9/demo.py", line 9, in <module>
tuple1[0]='python'
TypeError: 'tuple' object does not support item assignment

python字典

字典的特性:

  1. 字典是无序的。
  2. 字典是使用key-value键值对的方式来存储数据。

下面结合代码了解字典:

dict1 = {'name': 'admin', 'age': 18, 'address': 'beijing', 'work': 'python'}
# 获取字典里面所有的key值
for item in dict1.keys():
    print(item)
# 获取字典里面所有的value的值 for item in dict1.values():
print(item)
# 依据key来修改和获取字典的值 
print('name对应的值内容为:', dict1['name'])
dict1['name'] = '张三'
print('修改后的字典内容:', dict1)
# 字典里面增加新的值内容
dict1['薪资'] = 30
print('增加内容后的字典:', dict1)
# 两个字典的合并 
dict2 = {'company': '阿里巴巴'}
dict1.update(dict2)
print('两个字典合并后的内容:', dict1)

字典循环输出:

dict1 = {'name': 'admin', 'age': 18, 'address': 'beijing', 'work': 'python'}
for k, v in dict1.items():
    print(k, ":", v)

由于字典是无序的,所以想实现字典的排序,使用到的关键字是sorted,可以根据需求对字典内的key或value的值进行排序:

dict1 = {'name': 'admin', 'age': 18, 'address': 'beijing', 'work': 'python'}
key_dict1 = sorted(dict1.items(), key=lambda item: item[0])
print('依据key对象对字典排序后的结果信息:\n', key_dict1)
# 根据valie来对字典进行排序 
value_dict1 = sorted(dict1.items(), key=lambda item: item[1])
print('依据value对象对字典排序后的结果信息:\n', value_dict1)

python集合

 集合是一个数学概念,可以由一个或者多个确定的元素构成的整体,我们最常用的就是集合里面的交集,也就是获取两个对象里面共同的值。

下面上代码:

list1 = ['Python', 'Allure', 'Pytest']
list2 = ['Java', 'TestNG', 'Allure']
print('获取两个对象里面的共同值:', set(list1) & set(list2))
print('获取两个对象里面的差集:', set(list1) | set(list2))
print('获取两个集合对象里面的包含关系:', set(list1) ^ set(list2))

输出结果:

获取两个对象里面的共同值: {'Allure'}
获取两个对象里面的差集: {'TestNG', 'Python', 'Allure', 'Java', 'Pytest'}
获取两个集合对象里面的包含关系: {'Python', 'Java', 'Pytest', 'TestNG'}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值