首页 > 其他分享 >6.公共操作与推导式

6.公共操作与推导式

时间:2022-10-09 15:23:25浏览次数:44  
标签:10 20 推导 list1 列表 公共 print 操作 元组

一:公共操作

  • 运算符
  • 公共⽅法
  • 容器类型转换

运算符

运算符 描述 支持的容器类型
+ 合并 字符串,列表,元组
* 复制 字符串,列表,元组
in 是否存在 字符串,列表,元组,字典,集合
not in 是否不存在 字符串,列表,元组,字典,集合

+合并

# 1. 字符串
str1 = 'aa'
str2 = 'bb'
str3 = str1 + str2
print(str3) # aabb

# 2. 列表
list1 = [1, 2]
list2 = [10, 20]
list3 = list1 + list2
print(list3) # [1, 2, 10, 20]

# 3. 元组
t1 = (1, 2)
t2 = (10, 20)
t3 = t1 + t2
print(t3) # (10, 20, 100, 200)

*复制

# 1. 字符串
print('-' * 10) # ----------

# 2. 列表
list1 = ['hello']
print(list1 * 4) # ['hello', 'hello', 'hello', 'hello']

# 3. 元组
t1 = ('world',)
print(t1 * 4) # ('world', 'world', 'world', 'world')

in或not in

# 1. 字符串
print('a' in 'abcd') # True
print('a' not in 'abcd') # False

# 2. 列表
list1 = ['a', 'b', 'c', 'd']
print('a' in list1) # True
print('a' not in list1) # False

# 3. 元组
t1 = ('a', 'b', 'c', 'd')
print('aa' in t1) # False
print('aa' not in t1) # True

公共⽅法

函数 描述
len() 计算容器中元素个数
del 或 del() 删除
max() 返回容器中元素最⼤值
min() 返回容器中元素最⼩值
range(start,end, step) ⽣成从start到end的数字,步⻓为 step,供for循环使⽤
enumerate() 函数⽤于将⼀个可遍历的数据对象(如列表、元组或字符串)组合为⼀个索引序列,同时列出数据和数据下标,⼀般⽤在 for 循环当中。
sum() 序列求和
zip() 合并系列

max()

# 1. 字符串
str1 = 'abcdefg'
print(max(str1)) # g

# 2. 列表
list1 = [10, 20, 30, 40]
print(max(list1)) # 40

min()

# 1. 字符串
str1 = 'abcdefg'
print(min(str1)) # a

# 2. 列表
list1 = [10, 20, 30, 40]
print(min(list1)) # 10

enumerate()

语法

enumerate(可遍历对象, start=0)
list1 = ['a', 'b', 'c', 'd', 'e']
for i in enumerate(list1):
    print(i)

for index, char in enumerate(list1, start=1):
    print(f'下标是{index}, 对应的字符是{char}')

start参数⽤来设置遍历数据的下标的起始值,默认为0


容器类型转换

tuple()

将某个序列转换成元组

list1 = [10, 20, 30, 40, 50, 20]
s1 = {100, 200, 300, 400, 500}
print(tuple(list1))
print(tuple(s1))

list()

将某个序列转换成列表

t1 = ('a', 'b', 'c', 'd', 'e')
s1 = {100, 200, 300, 400, 500}
print(list(t1))
print(list(s1))

set()

将某个序列转换成集合

list1 = [10, 20, 30, 40, 50, 20]
t1 = ('a', 'b', 'c', 'd', 'e')
print(set(list1))
print(set(t1))

二:推导式

  • 列表推导式
  • 字典推导式
  • 集合推导式
  • 元组推导式
[表达式 for 变量 in 列表 if 条件]
{健:值 for 变量 in 字典.items() if 条件}
{表达式 for 变量 in 集合 if 条件}
(表达式 for 变量 in 元组 if 条件)

⽤⼀个表达式创建⼀个有规律的列表或控制⼀个有规律列表。

列表推导式

创建一个空列表,追加1到10这几个数字

  • for循环实现过程
list1 = []
for i in range(1,11):
    list1.append(i)
print(list1)
  • 列表推导式实现过程
list1 = [i for i in range(1,11)]
print(list1)

带if的列表推导式

将1到10的偶数添加到列表

方法一:利用步长实现

list1 = [i for i in range(0, 11, 2)]
print(list1)

方法二:if实现

list1 = [i for i in range(10) if i % 2 == 0]
print(list1)

字典推导式

创建⼀个字典:字典key是1-5数字,value是这个数字的2次⽅

# dict1 = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
dict1 = {i: i**2 for i in range(1, 6)}
print(dict1) 

将两个列表变为⼀个字典

list1 = ['name', 'age', 'sex']
list2 = ['Tom', 20, '男']
dict1 = {list1[i]: list2[i] for i in range(len(list1))}
print(dict1)

提取字典中⽬标数据

computs = {'AUC': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99}
# 需求:提取上述电脑数量⼤于等于200的字典数据

count1 = {key: value for key, value in computs.items() if value >= 200}
print(count1) # {'MBP': 268, 'DELL': 201}

集合推导式

计算数字 1,2,3 的平方数

setnew = {i**2 for i in (1,2,3)}
print(setnew)

输出非abc的字母

a = {x for x in 'abracadabra' if x not in 'abc'}
print(a)
{'d', 'r'}

元组推导式

生成包含1到9数字的元组

a = (x for x in range(1,10))
print(a)
# 返回的是生成器对象
# <generator object <genexpr> at 0x7faf6ee20a50> 

# 使用 tuple() 函数,可以直接将生成器对象转换成元组
print(tuple(a))       
(1, 2, 3, 4, 5, 6, 7, 8, 9)

print(tuple((x for x in range(1,10))))
(1, 2, 3, 4, 5, 6, 7, 8, 9)

标签:10,20,推导,list1,列表,公共,print,操作,元组
From: https://www.cnblogs.com/blog4lyh/p/16772239.html

相关文章

  • ES Restful操作
    一、restful风格介绍二、索引增删改查1、增加索引命令:put索引名称/文档类型/文档idPUTtest/user/1{"name":"张三","age":12,"dec":"测试一下"}字段也是可以自己......
  • Linux文件操作命令touch
    touchtouch[filename]创建文件,参数可以跟多个如果要创建50个有规律的文件,例如text1-text50利用参数扩展touchtest{1..50}touchtest{a..e}touchtest{a..e}_{......
  • 微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
    wx.request({url:'http://www.likeyunba.com/test/test.json',headers:{'Content-Type':'application/json'},success:function(res){//......
  • 基线相关操作
    /***创建指定名称基线*@throwsWTException*/publicstaticManagedBaselinecreateBaseline()throwsWTException{PersistableAdap......
  • docker安装clickhouse以及相关的语法操作
    第一步:先拉取clickhouse镜像(dockerpullyandex/clickhouse-server) 第二步:再拉取clickhouses客户端(为以后连接clickhouses数据库:dockerpullyandex/clickhouse-client......
  • git 操作记录
    gitpull拉去线上的。gitbranch查看当前分支gitbranch-r查看远程分支gitcheckout[分支名称]切换到某个分支gitpush​​​http://www.open-open.com/lib/vi......
  • CentOS 8操作
    CentOS8操作1.安装一些常用的Linux工具net-tools:yuminstallnet-toolsvim:Yum-yinstallvim 2.系统的一些小坑“Failedtodownloadmetadataforrepo‘......
  • MobaXterm注册认证版,亲测可用,操作简单(本机已安装python3环境)
    去github地址下下载代码  解压后在该目录下打开CMD执行MobaXterm-Keygen.py<UserName><Version>命令  生成的文件放在安装目录下,我的是免安装版,放在exe同目......
  • 打印三角形及 Debug 操作
    打印三角形//Java-零基础学习/src/process/Demo15packageprocess;​publicclassDemo15{  publicstaticvoidmain(String[]args){    //打印三角形 ......
  • 10月8日内容总结——文件操作之文本模式和二进制模式、文件内光标的移动
    目录一、文件操作1、概念讲解2、通过代码打开文件的两种方式方式一:方法二:一些小知识点总结:二、文件的读写模式1、只读模式(r)2、只写模式(w)3、只追加模式(a)三、文件的操作模式......