Python全栈自动化测试--Python可变数据类型

一、list列表类型:

一种有序集合,里面有多个数据用逗号隔开,可以对数据进行增删改;使用[]标识,可以包含任意数据类型

a = [1,’2’,(3, ‘4’)] 
print(type(a)) 
#>>> <class 'list'>

1、list内修改元素:

a[0]=0
通过索引的方式给需要修改的元素直接赋值,将列表a内的某个元素改为0

a = [1,2,3,4] a[3]=0 
print(a) 
#>>> [1, 2, 3, 0]

2、list末尾增加元素:

.append(x),.extend(x),.inster (1,x)

2.1)append方法

用于将一个对象内的元素作为一个整体在列表末尾追加

a = [1,2,3,4]
b = ['张三']
a.append(b)
print(a)
#>>>[1, 2, 3, 4, ['张三']]

2.2)extend方法

用于将一个对象内的元素作为单个元素在列表末尾追加

a = [1,2,3,4]
b = ['张三']
a.extend(b)
print(a)
#>>>[1, 2, 3, 4, '张三']

2.3)inster方法

用于将一个对象内的元素作为一个整体在列表内指定位置添加(将对象x添加到列表内第一和第二个元素之间)

a = [1,2,3,4]
b = ['张三']
a.insert(1,b)
print(a)
#>>>[1, ['张三'], 2, 3, 4]

3、list内删除元素:

.pop(),.remove(x),del[]

3.1)pop方法

默认删除列表内最后一个元素,还可指定索引删除.pop(2)

a = [1,2,3,4]
a.pop(1)
print(a)
#>>>[1, 3, 4] 

3.2)remove方法

删除list内指定的元素

a = [1,2,3,4,'张三']
a.remove('张三')
print(a)
#>>>[1, 2, 3, 4] 

3.3)del方法

根据指定的索引删除list 内的指定元素

a = [1,2,3,4,'张三']
del a[4]
print(a)
# >>>[1, 2, 3, 4] 

4、list内元素翻转:

x.reverse()
将列表的的元素进行翻转 注:此方法只适用于list,其他类型需要先转格式,.reverse()本身并没有返回值,所以直接打印的是none,翻转后直接打印需要翻转的变量即可输出翻转后的值

b = ['李四', '张三', '王二', '赵一' ]
b.reverse()
print(b)
#>>>['赵一', '王二', '张三', '李四'] 

5、list内的元素排序:

x.sort()升序排序;x.sort(reverse=True)降序排序

a = [4,2,1,3]
a.sort()
print(a)
#>>>[1, 2, 3, 4]
a.sort(reverse=True)
print(a)
#>>>[4, 3, 2, 1] 

二、dict字典类型:

用于存储关联关系的数据,标识{键:值, key:value}键值对之间用逗号隔开 字典中key值具有唯一性,不能重复

a = {'x': 10, 'y': 20}
print(a, type(a))
#>>>{'x': 10, 'y': 20} <class 'dict'> 

1、dict内访问键值对:

print(a['key'])
通过字典内的key可直接获取value

a = {'x': 10, 'y': 20}
print(a['x'])
#>>>10 

2、dict内修改键值对:

x['key']='zz'
通过获取value的方式,将新的值赋值给value

a = {'x': 10, 'y': 20}
a['x'] = 15
print(a)
#>>>{'x': 15, 'y': 20} 

3、dict内增加键值对:

x['key']='yy'
通过修改不存在的键值对方式,直接将不存在的键值对添加至字典内

a = {'x': 10, 'y': 20}
a['z'] = '张三'
print(a)
#>>>{'x': 10, 'y': 20, 'z': '张三'} 

4、dict内删除键值对:

del x['key'],.pop ('key')

4.1)del方法

与修改方式相同,通过获取value的方式,删除key的键值对

a = {'x': 10, 'y': 20}
del a['x']
print(a)
#>>>{'y': 20} 

4.2)pop方法

与del功能相同,此函数也可作为获取value来使用

a = {'x': 10, 'y': 20}
a.pop('x')
print(a)
# >>>{'y': 20} 
a = {'x': 10, 'y': 20}
b = a.pop('x')
print(b)
# >>>10 

5、list内的元素作为dict的key:

x.fromkeys(y,"none")
fromkey方法,用于将列表内的元素作为字典的key来使用,注:需要先创建空字典,然后再将列表内的元素作为字典内的key

x = {} 
y = [‘name’, ‘age’, ‘sex’] 
x.fromkey(y, ‘none’)
print(x)
#>>>

6、dict内多个键值对进行更新:

a.update(b)
将b的键-值对更新到字典a中,b可以是字典、列表等;此函数亦可作修改字典使用(相同的key,不同的value) 注:此函数没有返回值

dict_ = {}  # 创建空字典
dict_.update({'x': 10, 'y': 20})  # 传字典
print(dict_)
#>>>{'x': 10, 'y': 20}
dict_.update([('j', 30), ('k', 40)])  # 传列表
print(dict_)
#>>>{'x': 10, 'y': 20, 'j': 30, 'k': 40}
dict_.update(e=50, f=60)  # 传关键字
print(dict_)
#>>>{'x': 10, 'y': 20, 'j': 30, 'k': 40, 'e': 50, 'f': 60}
dict_.update(x='张三', y='李四')  # 修改字典内容
print(dict_)
#>>>{'x': '张三', 'y': '李四', 'j': 30, 'k': 40, 'e': 50, 'f': 60} 

7、dict遍历:

items()
items() 方法把字典中每对 key 和 value 组成一个元组,并把这些元组放在列表中返回。

a = {'x': 10, 'y': 20}
print(a.items())
# >>>dict_items([('x', 10), ('y', 20)]) 

三、set集合类型:

集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合。注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。创建非空集合只能使用{ }

1、创建集合:

set()

x = {'张三', '李四', '王二'}
y = set()
print(x, type(x), y, type(y))
# >>>{'张三', '王二', '李四'} <class 'set'> set() <class 'set'> 

2、set内不能含有重复的值,只会显示一个

x = {'张三', '李四', '王二', '张三'}
print(x)
# >>>{'张三', '王二', '李四'} 

3、添加元素:

.add(),.update()

3.1)add方法

将需要添加的元素当做一个整体,添加到集合中去

x = {1,2} x.add(‘python’) print(x)  # 添加字符串 
#>>>{1, 2, 'python'}  x = {1, 2}
y = ('python', 'java')
x.add(y)    # 添加元组
print(x)
#>>>{1, 2, ('python', 'java')} 

3.2)update方法

是把要传入的元素拆分,做为个体传入到集合中(如传入列表、集合、元组等,拆分后作为个体传入)

x = {1, 2}
y = ('python')
x.update(y)    # 添加字符串
print(x)
#>>>{'t', 1, 2, 'p', 'n', 'y', 'o', 'h'}  x = {1, 2}
y = ['python', 'java']
x.update(y)    # 添加元组
print(x)
#>>>{1, 2, 'python', 'java'} 

4、set删除元素:

.remove(),.discard(),.pop(),.difference_update(),.intersection_update()

4.1)remove 方法

如果元素不存在集合中,那么程序会报错。

x = {‘python’, ‘java’, ‘php’} x.remove(‘php’) 
print(x) 
#>>>{'python', 'java'} 

4.2)discard 方法

如果元素不存在集合中,那么程序不会报错。

x = {‘python’, ‘java’, ‘php’} x.discard(‘php’) 
print(x) 
#>>>{'python', 'java'} 

4.3)pop 方法

随机删除集合中的一个元素,并返回被删除的元素,如果集合为空,程序报错(有的版本讲是删除第一个元素,我安装的python3.9是随机删除的,应该是python版本不同的原因)

x = {'python', 'java', 'php'}
y = x.pop()
print(x,y)
# >>>{'java', 'python'} php 

4.4)difference_update方法

删除集合x与序列y的重复元素

x = {1, 2, 3}
y = [3, 4, 5]
x.difference_update(y)
print(x)
#>>>{1, 2} 

4.5)intersection_update方法

删除集合A中与序列B不重复的元素

x = {1, 2, 3}
y = [3, 4, 5]
x.intersection_update(y)
print(x)
#>>>{3} 

5、set集合:

x&y交集,x|y并集, x-y差集, x^y非交集

x = {'python', 'java'}
y = {'python', 'sql'}
print(x & y, x | y, x - y, x ^ y)
#>>> {'python'} {'sql', 'python', 'java'} {'java'} {'sql', 'java'} 

6、set内是否有重复:

.isdisjoint()
使用isdisjoint方法,用于判断两个集合是否不含相同的元素,如果不含返回 True,如果含有返回 False

x = {'python', 'java'}
y = {'python', 'sql'}
z = x.isdisjoint(y)
print(z)
#>>>False  x = {'python', 'java'}
y = {'php', 'sql'}
z = x.isdisjoint(y)
print(z)
#>>>True 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容