ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

零基础小白软件测试必学python5公共操作和推导式

2021-09-05 19:00:13  阅读:218  来源: 互联网

标签:dict1 必学 list1 list2 print range python5 列表 软件测试


运算符

str1 = '123'
str2 = '2'
list1 = [1, '2']
list2 = [3, 4]
tuple1 = (1, 2, '3')
tuple2 = (4, 5, 6)
dict1 = {'name': 'wang','age': 18}
dict2 = {'weight': 80, 'name': 'xiao'}
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(str1+str2)
print(list1+list2)
print(tuple2+tuple1)
print(str2*10)
print('str'*5)
print(list1*3)
print(tuple2*3)
print('1' in str1)
print(4 not in list2)
print(4 in tuple2)
print('name' in dict1)
print('wang' in dict1)                #字典里面只能查键名

公共方法

 注意        列表和元组里面的数字和字符串不支持比较大小

                 字典里面只比较键的大小,其整型和字符串键不支持比较大小

                        dict1 = {1: 2, 'abc': 3}

                        print(max(dict1))        #返回报错

enumerate()遍历

s = 'aasssfff'
l = ['h', 'i', 'j', 'k', 'l']
d = {'a': 1, 'b': 2}
z = ('m', 'n', 'o', 'p', 'q')
t = {'a', 'b', 'd', 'e', 'f'}
for i in enumerate(s):
    print(i)
for i in enumerate(l):
    print(i)
for i in enumerate(d):
    print(i)
for i in enumerate(d):
    print(i)
for i in enumerate(z):
    print(i)
for i in enumerate(t):
    print(i)
for index, val in enumerate(t):              #同时输出下标和值
    print(index, val)

容器转换

tuple()       list()       set()字符串、列表、元组、字典、集合都可以用这三个转换

但是字典质转化换其键

推导式

需求:创建一个存放1-10的数据的列表

  • while循环实现
list1 = []

i = 0
while i < 10:
    list1.append(i)
    i += 1

print(list1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • for循环实现
list1 = []

for i in range(10):
    list1.append(i)

print(list1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 列表推导式实现
list1 = [i for i in range(10)]
print(list1)
  • 1
  • 2

带有if判断的列表推导式

需求创建一个0-10的并且只包含偶数的列表

  • 使用公共方法range()实现
list1 = [i for i in range(0, 10, 2)]
print(list1)
  • 1
  • 2
  • 使用 for 循环 + if 实现
list2 = []
for i in range(10):
    if i % 2 == 0:
        list2.append(i)

print(list2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 使用带 if 的列表推导式实现
list3 = [i for i in range(10) if i % 2 == 0]
print(list3)
  • 1
  • 2

 

 

多个for循环嵌套的列表推导式

如果要求创建的一个列表如下:

[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
  • 1
  • 使用for循环实现
list1 = []
for i in range(1, 3):
    for j in range(3):
        # 列表里面追加元组: 循环前准备一个空列表,然后这里追加元组数据到列表
        list1.append((i, j))

print(list1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 使用多个for循环的推导式实现
list2 = [(i, j) for i in range(1, 3) for j in range(3)]
print(list2)
  • 1
  • 2

字典推导式

作用:常常用来把列表合并成为字典或提取字典中的目标数据。

  • 案例1:生成如下字典:
{1: 1, 2: 4, 3: 9, 4: 16}
  • 1

字典推导式实现:

dict1 = {i: i**2 for i in range(1, 5)}
print(dict1)
  • 1
  • 2

【注:】python中可以使用 ** 运算符轻松完成一个数的n次方运算。

print(2**3)  #2的3次方,结果为8
  • 1
  • 案例2:合并如下两个列表:
['name', 'age', 'gender', 'id']
['Tom', 20, 'man']
  • 1
  • 2

字典推导式实现:

list1 = ['name', 'age', 'gender', 'id']
list2 = ['Tom', 20, 'man']

dict1 = {list1[i]: list2[i] for i in range(len(list2))}
print(dict1)
#{'name': 'Tom', 'age': 20, 'gender': 'man'}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 案例3:提取字典中目标数据

数据:

{'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99}
  • 1

需求:提取电脑台数大于等于200的字典数据

dict1 = {key: value for key, value in counts.items() if value >= 200}
print(dict1)
#{'MBP': 268, 'DELL': 201}
  • 1
  • 2
  • 3

集合推导式

用的不多,简单过一下。

list1 = [1, 1, 2]

set1 = {i ** 2 for i in list1}
print(set1) #{1, 4}
 



标签:dict1,必学,list1,list2,print,range,python5,列表,软件测试
来源: https://blog.csdn.net/wf199501/article/details/120116286

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有