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

公共操作与推导式

时间:2022-09-30 22:23:45浏览次数:43  
标签:10 推导 list1 t1 公共 print 操作 列表 元组

一、公共操作

(一)运算符

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

1、+合并

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

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

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

------------------------------------
aabb
[1, 2, 10, 20]
(1, 2, 10, 20)
# 集合没有+
# 字典没有+

2、*复制

# 列表
list1 = [1,2,3,4,5]
list2 = list1*2
print(list2)

# 元组
t1 = (1,2,3,4,5)
t2 = t1*2
print(t2)

# 字符串
str1 = "ggasdf"
str2 = str1*2
print(str2)

------------------------------------
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
ggasdfggasdf

# 集合没有*
# 字典没有*

3、in与not in

# 1、字符串
print('a' in 'abcd')
print('a' not in 'abcd')

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

# 3、元组
t1 = ('a','b','c','d')
print('a' in t1)
print('a' not in t1)


# 4、集合
set1 = {1,2,3,4,5,6,7}
print(1 in set1)

# 5、字典
dict1 = {"张三":18,"李四":19}
print(18 in dict1.values())

--------------------------
True
False

True
False

True
False

True

True

(二)公共方法

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

1、len()

list1 = [1,2,3,4,5,6,8,9,10]
print(len(list1))

-------------------
9

2、del()

t1 = (1,2,3,4,5)
del t1
print(t1)   # 报错

3、max()

list1 = [1,2,3,4,5,6,8,9,10,60]
list2 = ["a","z","x","d","j"]
print(max(list1))
print(max(list2))
print(min(list1))
print(min(list2))

----------------------------
60
z
1
a

4、enumerate()

list3 = ["张三","李四","王五","赵六"]
for index,data in enumerate(list3):
    print(data)
    print(index)

--------------------------
张三
0
李四
1
王五
2
赵六
3

5、sum()

list1 = [1,2,3,4,5,6,8,9,10,60]
print(sum(list1))

----------------------------
108

6、zip()

list4 = [1,2,3,4,5,6]
list5 = [8,9,10,60]
print(list(zip(list4,list5)))

-------------------------
[(1, 8), (2, 9), (3, 10), (4, 60)]

(三)容器类型转换

1、tuple()

  • 将某个序列转换成元组
list1 = [1,2,3,4,5,6]
s1 = {10,20,30,40,50}
print(tuple(list1))
print(tuple(s1))

--------------------------
(1, 2, 3, 4, 5, 6)
(50, 20, 40, 10, 30)

2、list()

  • 将某个序列转换成列表
t1 = ('a','b','c','d')
s1 = {10,20,30,40,50}
print(list(t1))
print(list(s1))

-----------------------------
['a', 'b', 'c', 'd']
[50, 20, 40, 10, 30]

3、set()

  • 将某个序列转换成集合
list1 = [1,2,3,4,5,6]
t1 = ('a','b','c','d')
print(set(list1))
print(set(t1))

--------------------------
{1, 2, 3, 4, 5, 6}
{'d', 'a', 'b', 'c'}

二、推导式

[表达式 for 变量 in 列表 if 条件]
{键:值 for 变量 in 字典 if 条件}
{表达式 for 变量 in 集合 if 条件}
(表达式 for 变量 in 元组 if 条件)

(一)列表推导式

  • 用一个表达式创建一个有规律的列表或控制一个有规律列表。
  • 创建一个空列表,追加1到10这几个数字
  • for循环实现过程
list1 = []
for i in range(1,11):
    list1.append(i)
print(list1)

---------------------------
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  • 列表推导式实现过程
list1 = [i for i in range(1,11)]
print(list1)

---------------------
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  • 带if的列表推导式
  • 将1到10的偶数添加到列表
  • 方法一:利用步长实现
list1 = [i for i in range(0,11,2)]
print(list1)

--------------------------------
[0, 2, 4, 6, 8, 10]
  • 方法二:if实现
list1 = [i for i in range(10) if i%2==0]
print(list1)

--------------------------------------
[0, 2, 4, 6, 8]
  • 打印1-300的奇数,7的倍数不要
list1 = sum([i for i in range(1,301) if i%2==1 and i%7!=0])
print(list1)

---------------------------------
19413

(二)字典推导式

  • 创建一个字典:字典key是1-5数字,value是这个数字的2次方
dict1 = {k:k**2 for k in range(1,6)}
print(dict1)

---------------------------
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
  • 将两个列表变为一个字典
list1 = ['name','age','gender']
list2 = ['Tom',20,'man']
dict1 = {list1[i]:list2[i] for i in range(len(list1))}
print(dict1)

----------------------------------
{'name': 'Tom', 'age': 20, 'gender': 'man'}
  • 提取字典中目标数据
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)

---------------------------------------
{'AUC': 268, 'DELL': 201}

(三)集合推导式

  • 计算数字1,2,3的平方数
set1 = {i**2 for i in range(1,4)}
print(set1)

-----------------------------------
{1, 4, 9}
  • 输出非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 0x0000026377564190>
# 使用tuple()函数,可以直接将生成器对象转换成元组
print(tuple(a))

-----------------------------------------
<generator object <genexpr> at 0x0000015913C24190>
(1, 2, 3, 4, 5, 6, 7, 8, 9)

 

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

相关文章

  • 用递归函数和栈操作逆序栈
    用递归函数和栈操作逆序栈作者:Grey原文地址:博客园:用递归函数和栈操作逆序栈CSDN:用递归函数和栈操作逆序栈题目描述请设计一个算法实现逆序栈的操作,但是只能用递归函......
  • devops学习笔记-jenkins实现基础CI/CD操作
    在之前的devops工具链中完成了jenkins以及gitlab配置之后,可以实现基础的CI/CD操作。操作流程整体的操作的流程如下所示:在开发环境配置好代码之后,将代码上传到gitlab,jenkins......
  • (大表小技巧)有时候 2 小时的 SQL 操作,可能只要 1 分钟
      关于一张5亿数据表之我与DBA的battle 发了之后,有好几个小伙伴来问我SQL是怎么拆的。这篇我们来简单盘下,其实拆SQL是因为涉及大表删除的问题。比如,你现在......
  • macOS 上 常用的操作
    首先mac上若使用的是windows的键盘,那么需要把ctrl键,设置成cmd键,因为mac上大多数操作都是基于cmd键。1.将ctrl键,修改为cmd键,这样后复制、粘贴、剪切、全选等ctrl+n......
  • 加工中心刀库复归及刀库表刷新操作
    立式加工中心刀库复归及刀库表刷新操作这种操作久经考验干什么?主要用于:1、换刀过程中系统出现报警,刀臂卡刀了怎么办?2、换刀过程中按了复位或急停,刀臂甩出停在一半怎么办?3、......
  • 字典,元组,集合相关操作,字符编码(理论
    目录字典,元组,集合相关操作,字符编码(理论)今日内容概要今日内容详细字典相关操作元组相关操作集合相关操作字符编码理论字符编码实操字典,元组,集合相关操作,字符编码(理论)今日......
  • 数控车削中心的操作
    当选择空运转状态时,自动进给操作的F码无效,执行mm/min的进给量。主轴的转速由手动数据输入或程序中的S码指令决定。此开关在任何工作状态下均起作用。“MDI”状态:即手动数据输......
  • 【操作系统-IO管理】IO层次结构
    目录1用户层I/O软件1.1假脱机技术(SPOOLing技术)1.1.1SPOOLing系统的组成1.1.2假脱机管理进程的工作原理1.2应用程序接口1.2.1字符设备接口1.2.2块设备接口1.2.3......
  • 工业智能网关BL110串口采集西门子PLC S7-200操作步骤
    COM口采集西门子PLC的配置4个COM口的配置内容一样,COM1固定为RS232,COM2、COM3和COM4是RS232/RS485可选串口(默认为RS485)。因S7-200的COM是RS485接口,则选择以COM2连接为例说明C......
  • 数据类型的常用操作和内置方法-下
    数据类型的常用操作和内置方法下字典内置方法类型转换字典的类型转换要求苛刻,一般不会使用dict([['key1',1],['key2',2]])#只能转换多元素的类型,且每个元素中还......