设为首页 加入收藏

TOP

python中的公共操作和推导式
2023-07-25 21:24:59 】 浏览:31
Tags:python
# 1.公共操作
# del 删除 删除变量或指定容器内数据 变量,容器里面的值
# + 将两个相同类型序列进行连接 字符串,列表,元组
print('1.公共操作')
print('a' + 'b')
print(['a'] + ['b'])
print(('a',)+('b',))  # 元组,要有,
# print({1:2}+{2:3})  # 字典不行,报错

# * 复制 将里面的数据线进行复制 字符串,列表,元组
# 语法糖 带来便利的操作
print()
print('-'*50)
print([1, 2, 3]*3)
print((1, 2)*2)

# len 获取序列长度 字符串、列表、元组、字典、集合
print()
list1 = [1, 2, 3]
print(len(list1))
print(list1.__len__())
set1 = {1, 2, 2}  # 长度是2,因为去重
print(len(set1))

# reverse 倒置 将容器里面的数据倒置 字符串、列表、元组、字典
# 因为集合中的数据没有顺序
print()
list1 = [1, 2, 3]
for i in list1:
    print(i)  # 输出123
for i in reversed(list1):
    print(i)  # 输出321

# max、min 求容器数据的最大致最小值 字符串、列表、元组、字典、集合
print()
list1 = [1, 2, 3]
print(max(list1))
print(min(list1))
str1 = 'adcba'
print(max(str1))  # 根据ASCII输出

# sum 求将容器的数据求和 列表、元组、字典、集合
print()
list1 = [2, 3, 6]
print(sum(list1))
tuple1 = (2, 3, 6)
print(sum(tuple1))
set1 = {2, 3, 6}
print(sum(set1))

# enumerate 索引映射 将索引映射给容器里面的数据 列表、元组或字符串
print()
list1 = ['a', 'b', 'c']
for i in enumerate(list1):
    print(i)
for index, data in enumerate(list1):  # 默认start=0
    print(index, data)
for index, data in enumerate(list1, start=1):  # 索引从1开始
    print(index, data)  # 索引是1,2,3

# in  not in 是否存在 判断数据是否存在于容器内 字符串、列表、元组、字典、集合
print()
list1 = [1, 2, 3]
print(1 in list1)
print(1 not in list1)

 

# 2.容器类型的转换
# list tuple set
print()
print('2.容器类型的转换')
list1 = [1, 2, 3, 2]
tuple1 = (1, 2, 3, 2)
set1 = {1, 2, 3, 2}  # 转成集合会去重!
print(set1)  # 输出123 因为去重2
print(tuple(list1))
print(list(set1))  # 因为集合去重了2,只剩下了123

 

 

 

# 3.列表推导式

# # 普通写法
# list_data = []
# for i in range(10):
#     list_data.append(i)
# print(list_data)
# # 推导式写法
# # 代码简洁,运行速度变快
# # 可读性变差
# print([i for i in range(10)])

print()
print('3.列表推导式')
# 步骤:
# 主体:for循环
# 类型:[]  表示列表
# 返回的数据:i
print([i for i in range(10)])

 

 

 

# 4.列表推导式和if一起使用
print()
print('4.列表推导式和if一起使用')
# 普通写法
list_data = []
for i in range(10):
    if i % 2 == 0:  # 选择0-9中的偶数
        list_data.append(i)
print(list_data)
# 对应的推导式写法
print([i for i in range(10) if i % 2 == 0])

 

 

 

# 5.字典推导式
print()
print('5.字典推导式')
dict_data = {}
for i in range(10):
    dict_data[i] = i+1  # value是key加1
print(dict_data)
# 对应的字典推导式
# 主体:for循环
# 类型:{}  表示字典
# 返回的数据:i:i+1
print({i: i+1 for i in range(10)})

 

 

# 6.字典推导式和if一起使用
print()
print('6.字典推导式和if一起使用')
dict_data = {'小明': 58, '小芳': 80, '小刚': 99, '小雨': 46}
print({(i[0], i[1]) for i in dict_data.items() if i[1] < 60})  # 注意这里if后面不能有:
print([(i[0], i[1]) for i in dict_data.items() if i[1] < 60])  # 注意这里if后面不能有:

 

 

# 7.集合推导式
print()
print('7.集合推导式')
print({i for i in range(10)})
# 这里是i不是键值对
# 所以是集合不是字典

 

 

# 8.三元表达式
print()
print('8.三元表达式')

score = 40

if score > 60:
    print('合格')
else:
    print('不合格')

print('合格') if score > 60 else print('不合格')


score = 50
if score > 60:
    res = 'True'
else:
    res = 'False'
print(res)

res = 'True' if score > 60 else 'False'
print(res)

 

 

# 9.列表推导式和三元表达式一起
# 判断成绩是否合格
print()
print('9.列表推导式和三元表达式一起')
dict_data = {}
for i in range(58, 63):
    if i > 60:
        dict_data[i] = True
    else:
        dict_data[i] = False
print(dict_data)

print({i: True if i > 60 else False for i in range(58, 63)})

 

 

# 今日练习
# 请用列表推导式完成1到100所有奇数的和
print()
print('今日练习')
print(sum([i for i in range(1, 101) if i % 2 != 0]))

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【k哥爬虫普法】非法入侵计算机信.. 下一篇Python工具箱系列(十四)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目