首页 > 编程语言 >python中的公共操作与列表推导式

python中的公共操作与列表推导式

时间:2022-12-02 22:35:17浏览次数:46  
标签:推导 python list 列表 range l1 print data

1.公共操作

# + 合并 将两个相同类型序列进行连接 字符串、 列表、元组
l1 = [1, 2, 3]
l2 = [4, 5, 6]
print(l1+l2)  # [1, 2, 3, 4, 5, 6]

 

 

# * 复制 将里面的数据进行复制 字符串、列表、元组
l1 = [1, 2, 3]
print(l1 * 3)  # [1, 2, 3, 1, 2, 3, 1, 2, 3]

 

 

# len 获取序列长度 查看序列长度 字符串、列表、元组、字典,集合
# 返回一个int类型
print(len([1, 2, 3, 4]))  # 4

 

 

# reversed 倒置 将容器里面的数据倒置 字符串、列表、元组、字典
l1 = [1, 2, 3]
print(reversed(l1))  # 是个序列 <list_reverseiterator object at 0x000001C447207040>
print(list(reversed(l1)))  # 可以转换为列表
for i in reversed(l1):  # 也可以for循环输出
    print(i)

 

 

# in,not in 是否存在 判断数据是否存在于容器内 字符串、列表、元组、字典,集合
l1 = ['小明', '小芳']
print('小' in l1)  # False
print('小明' in l1)  # True

 

 

# del 删除 删除变量或者指定容器内数据 变量,容器里面的值
l1 = ['小明', '小芳']
del l1[0]
print(l1)  # ['小芳']

 

 

# max,min 最大最小值 求容器数据的最大最小值 字符串、列表、元组、字典,集合
l1 = [1, 4, 2]
print(max(l1), min(l1))  # 4 1
# 字符串按ASCII码取大取小
l2 = ['aa', 'ay', 'az']  # az aa
print(max(l2), min(l2))

 

 

# sum 求和 将容器的数据求和 列表、元组、字典,集合
d = {1: 2, 2: 3}
print(sum(d))  # 对字典也可操作 key值相加
l1 = [1, 3, 5, 7, 9]
print(sum(l1))

 

 

# enumerate 枚举 索引映射 将索引映射给容器里面的数据 列表、元组、或字符串
l1 = ['a', 'b', 'c']
print(enumerate(l1))  # 是个序列
# 要么转换成常见数据类型,要么for循环
print(list(enumerate(l1)))  # 不写start默认索引从0开始
for index, data in enumerate(l1, start=5):  # 索引从5开始
    print(index, data)

 

 

2.列表推导式

# 普通写法
# 创建列表 循环数据 添加数据 没有其他操作
list_data = []
for i in range(10):
    list_data.append(i)

print(list_data)

# 推导式写法  不是所有的代码都可以写成推导式
# 推导式只有一种固定的操作
# 创建列表 []
# 循环数据 for i in range(10)
# 添加数据 i
list_data = [i for i in range(10)]
print(list_data)
# print([i for i in range(10)])

 

 

# 普通写法
# 创建列表 循环数据 添加数据 没有其他操作
list_data = []
for i in range(10):
    list_data.append(str(i*2))

print(list_data)

# 推导式写法
# 创建列表[]
# 循环列表 for i in range(10)
# 添加数据 i*2
print([str(i*2) for i in range(10)])

 

 

# 普通写法
# 创建列表 循环数据 添加数据位置永远在最前面
list_data = []
for i in range(10):
    if i%2 == 0:
        list_data.append(i)

print(list_data)  # [0, 2, 4, 6, 8]

# 推导式写法
# 创建列表 []
# 循环数据 for i in range(10)
# 添加数据位置永远在最前面 i
# if放后面  if i%2 == 0
print([i for i in range(10) if i%2 == 0])

 

 

# 普通写法
# 创建列表 循环数据 添加数据位置永远在最前面
list_data = []
for i in range(10):
    if i%2 == 0:
        if i%3 == 0:
            list_data.append(i)

print(list_data)  # [0, 6]

# 推导式写法
# 创建列表 []
# 循环数据 for i in range(10)
# 添加数据位置永远在最前面 i
# if放后面  if i%2 == 0 if i%3 == 0
print([i for i in range(10) if i%2 == 0 if i%3 == 0])

 

 

3.三元表达式

# 3.三元表达式
# 一元 not  not True
# 二元 +

# 普通写法
age = 20
if age>18:
    print('成年')
else:
    print('未成年')

# 三元表达式
# 判断写中间  if age>18 else
# 满足条件后的结果写前面  print('成年')
# 不满足条件后的结果写后面  print('未成年')
print('成年') if age>18 else print('未成年')

 

 

# 普通写法
age = 20
if age>18:
    data = 1
else:
    data = 0
print(data)

# 三元表达式写法
# 判断写中间  if age>18 else
# 满足写前面  1  不是data=1
# 不满足写后面  0  不是data=0
# 注意和上面有一些不同!
# data =      1    if age>18 else    0
data = 1 if age>18 else 0
print(data)

 

 

# 普通写法
list_data = []
for i in range(10):
    if i%2 == 0:
        list_data.append(i)
    else:
        list_data.append(str(i))

print(list_data)

# 三元表达式和列表推导式一起写
# 创建列表  []
# 循环列表  for i in range(10)
# 添加数据位置永远在最前面  i if i%2 == 0 else str(i)
# 注意添加的数据不是i,是i和str(i)中的一个
# list_data = [i if i%2 == 0 else str(i) for i in range(10)]
list_data = [(i if i%2 == 0 else str(i)) for i in range(10)]  # 利用小括号来增加一点可读性
print(list_data)

 

 

# 请用列表推导式完成1到100(不包括1和100)内所有奇数的和

# 列表推导式写法
list_data = [i for i in range(2, 100) if i%2 == 1]
print(sum(list_data))

# 普通写法
list_data = []
for i in range(2, 100):
    if i%2 == 1:
        list_data.append(i)

print(sum(list_data))

 

标签:推导,python,list,列表,range,l1,print,data
From: https://www.cnblogs.com/qc2012/p/16945840.html

相关文章

  • Python实验报告(第13章)
    实验13:Pygame游戏编程一、实验目的和要求学会Pygame的基本应用二、实验环境软件版本:Python3.1064_bit三、实验过程1、实例1:制作一个跳跃的小游戏(1)代码如下:1......
  • Python数据分析(一)--Matplotlib学习
    Matplotlib库学习2.1Matplotlib库小测2.2Pyplot的绘图区域plt.subplot(nrows,ncols,plot_number)图表的整个绘图区域被分成numRows行和numCols列然后按......
  • 【Python】【爬虫】爬取豆瓣电影评分
    importrequestsimportreimportcsvurl="https://movie.douban.com/top250"headers={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537......
  • Python数据分析(一)--Numpy学习
    Numpy学习1.数据的维度1.1一维数据一维数据由对等关系的有序或无序数据构成,采用线性方式组织。对应列表(有序)、数组和集合(无序)等类型。例子:列表和数组相同点:......
  • Python+NumPy绘制常见曲线的方法详解_python
    一、利萨茹曲线二、计算斐波那契数列 三、方波方波可以近似表示为多个正弦波的叠加。任意一个方波信号都可以用无穷傅里叶级数来表示。需要累加很多项级数,且级数越......
  • python生成中奖号码工具
    前言:不知道有没有人和我一样,学习python编程的时候有个想法,模似中奖程序,预测中奖号码。废话不多说,直接实操。一、红球1-32蓝球1-15二、中奖规则一等奖:6个红色球号码+1个蓝色......
  • opencv的学习记录(python)
    作为最容易上手之一的语言,python拥有着大量的第三方库,这些第三方库的存在使得很多人可以专注于业务逻辑、数学逻辑而忽略繁琐的代码操作,python的opencv第三方库就是其中之......
  • 跳一跳 Python小程序 小白指南 Android和iOS都可以用
    小白一枚,最近网上比较火的微信“跳一跳”小程序,刷爆了朋友圈,之后怀着好奇心在网上看到有大神自己写了一个python脚本,于是打算借来玩一下,倒腾了半天,各种配置,下面记录一下出现......
  • 13章python实训
    实验报告【实验目的】 1.掌握Pygame的基础知识。【实验条件】1.PC机或者远程编程环境。 【实验内容】1.完成第十三章  实例01:篮球自动弹跳。  实例01:创......
  • python连接mongodb数据库
    python连接mongodb数据库frombeanieimportDocument,init_beanieimportasynciofrommotor.motor_asyncioimportAsyncIOMotorClientclassPerson(Document):......