Python基础--推导式与注释
Python推导式顾名思义就是从一个数据式列中构建一个新的数据结构体,属于一个独特的数据处理方式,支持的数据结构主要有列表、字段、集合、元组这四种。
列表推导式:
格式主要有两种:[表达式 for 变量 in 列表]和[表达式 for 变量 in 列表 if 条件]
列表生成元素表达式是有返回值的函数的,if条件语句可以过滤列表中不符合条件的值:
输入:
names = ['Bob','Java','JDK','apple','wendy','string']
#name.upper()就是将小写转换成大写,len(name)就是设置字符长度
new_names = [name.upper()for name in names if len(name)>3]
print(new_names)
#输出50以内被3整除的整数
multiples = [i for i in range(50) if i % 3 ==0]
print(multiples)
输出:
['JAVA', 'APPLE', 'WENDY', 'STRING']
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
字典推导式:
字典推导基本格式主要有两种:
{ key_expr: value_expr for value in collection }
或
{ key_expr: value_expr for value in collection if condition }
输入:
listdemo = ['Google','Runoob','Taobao']
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
newdict ={key:len(key) for key in listdemo}
print(newdict)
#以这三个数字的平方来创建字典
dic = {x:x**2 for x in (2,4,6)}
print(dic)
print(type(dic))
输出:
{'Google': 6, 'Runoob': 6, 'Taobao': 6}
{2: 4, 4: 16, 6: 36}
<class 'dict'>
集合推导式:
集合推导式的基本格式:
{ expression for item in Sequence }
或
{ expression for item in Sequence if conditional }
#计算数字1,2,2的平方数
setnew = {i ** 2 for i in (1,2,3)}
print(setnew)
#判断不是字母的并输出
a = {x for x in 'abcdefgabcqwq' if x not in 'abc'}
print(a)
print(type(a))
输出:
{1, 4, 9}
{'g', 'e', 'q', 'd', 'w', 'f'}
<class 'set'>
元组推导式:
元组推导式可以利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的元组。
元组推导式基本格式:
(expression for item in Sequence )
或
(expression for item in Sequence if conditional )
输入:
a = (x for x in range(1,10))
# 返回的是生成器对象
print(a)
# 使用 tuple() 函数,可以直接将生成器对象转换成元组
print(tuple(a))
输出:
<generator object <genexpr> at 0x000001F382634190>
(1, 2, 3, 4, 5, 6, 7, 8, 9)
Python注释的方法主要有两种,单行注释和多行注释:
单行注释:Python的单行注释使用“#”在代码前,如:
多行注释:Python的多行注释使用双引号(“”")和单引号(‘’')注释,如: