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 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容