美文网首页
011-公共方法

011-公共方法

作者: 小D修行笔记 | 来源:发表于2022-07-28 06:16 被阅读0次

\color{red}{+、*、in、not } \color{red}{in、len、del、max、min、range、enumerate、推导式}

+

  • 合并
  • 字符串、列表、元组

字符串 +

字符串1 + 字符串2

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

输出结果

aabb

列表 +

列表1 + 列表2

# 列表 +
list1 = ['aa', 'bb']
list2 = ['cc', 'dd']
print(list1 + list2)

输出结果

['aa', 'bb', 'cc', 'dd']

元组 +

元组1 + 元组2

# 元组 +
tuple1 = (10, 20)
tuple2 = (30, 40)
print(tuple1 + tuple2)

输出结果

(10, 20, 30, 40)

*

  • 复制
  • 字符串、列表、元组

字符串 *

字符串 * num(num为复制的次数)

str1 = 'a'
print(str1 * 5)

输出结果

aaaaa

列表 *

列表 * num(num为复制的次数)

# 列表 *
list1 = ['aa', 'bb']
print(list1 * 5)

输出结果

['aa', 'bb', 'aa', 'bb', 'aa', 'bb', 'aa', 'bb', 'aa', 'bb']

元组 *

元组 * num(num为复制的次数)

# 元组 *
tuple1 = (10, 20)
print(tuple1 * 5)

输出结果

(10, 20, 10, 20, 10, 20, 10, 20, 10, 20)

in 和not in

元素 in 字符串(列表、元组、字典)
元素 not in 字符串(列表、元组、字典)

  • 元素是否在序列中
  • 字符串、列表、元组、集合

字符串、列表、元组 in 和not in

# 字符串
st1 = 'abcd'
print('a' in str1)
print('a' not in str1)

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

# 元组
tuple1 = ('a', 'b', 'c', 'd')
print('a' in tuple1)
print('a' not in tuple1)

输出结果

True
False
True
False
True
False

字典 in 和not in

# 字典 字典判断的in和not in相当云dict.keys
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
# key
print('name' in dict1)  # dict1相当于dict1.keys()
print('name' not in dict1)
# value
print('Tom' in dict1.values())
print('Tom' not in dict1.values())
# tuple
print(('name', 'Tom') in dict1.items())
print(('name', 'Tom') not in dict1.items())

输出结果

True
False
True
False
True
False

len

len(字符串、列表、元组、集合、字典)

  • 统计序列的长度,即元素的个数
# 字符串
str1 = 'abcd'
print(len(str1))
# 列表
list1 = ['a', 'b', 'c', 'd', 'e']
print(len(list1))
# 元组
tuple1 = ('a', 'b', 'c')
print(len(tuple1))
# 集合
set1 = {10, 20, 30}
print(len(set1))
# 字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(len(dict1))

输出结果

4
5
3
3
3

del

del 字符串、列表、元组、集合、字典 # 删除整个序列
del 字符串[下标]、列表[下标]、元组[下标]、字典[key] # 删除序列中的一个元素

  • 删除一个序列或删除序列中的一个元素

删除序列

# del 删除序列或序列中的一个元素
str1 = 'abc'
del str1
print(str1) # del删除字符串后,字符串就不存在了,报错

输出结果

Traceback (most recent call last):
  File "/Users/apple/Desktop/code/016-公共方法.py", line 88, in <module>
    print(str1)
NameError: name 'str1' is not defined

删除一个元素

list1 = [10, 20, 30, 40]
print(list1)
del list1[1]
print(list1)

输出结果

[10, 20, 30, 40]
[10, 30, 40]

max 和 min

max(序列)
min(序列)

  • max 返回容器中的最大值
  • min 返回容器中的最小值
# max和min
list1 = [10, 20, 30, 40]
print(max(list1))
print(min(list1))

输出结果

40
10

range

range(start,end,step)

  • 生成从start到end的数字列表,步长为step,供for循环使用
  • step可以不写,默认为1
  • start可以不写,默认为0
  • 生成的序列不包含end
# range
for i in range(1, 10, 1):
    print(i, end=' ')
print()
for i in range(1, 10):
    print(i, end=' ')
print()
for i in range(10):
    print(i, end=' ')
print()

输出结果

1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 
0 1 2 3 4 5 6 7 8 9

enumerate

enumerate(可遍历对象,start = 开始索引)

  • 将一个可遍历的数据对象组合成一个索引序列,同时列出数据和数据下标,一般在for循环中使用
# enumerate
list1 = ['a', 'b', 'c', 'd']
for i in enumerate(list1):
    print(i)
for i in enumerate(list1, 1):
    print(i)
for key, value in enumerate(list1):
    print(f'{key} = {value}')

输出结果

(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
0 = a
1 = b
2 = c
3 = d

推导式

列表推导式

  • 用一个表达式创建一个有规律的列表或控制一个有规律的列表
  • 列表推导式,又叫列表生成式
使用while循环,创建一个列表
# while循环创建一个列表
i = 0
list1 = []
while i < 10:
    list1.append(i)
    i += 1
print(list1)

输出结果

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for循环创建列表
# for循环创建列表
list1 = []
for i in range(10):
    list1.append(i)
print(list1)

输出结果

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
简单的列表推导式
  • 列表推导式就是for循环创建列表的简写形式

[i for i in range(开始,结束,步长)]

# 列表推导式
list1 = [i for i in range(1, 10, 2)]
print(list1)

输出结果

[1, 3, 5, 7, 9]
带if的列表推导式
# 带if的列表推导式
list1 = [i for i in range(1, 10) if i % 2 != 0]
print(list1)

输出结果

[1, 3, 5, 7, 9]
多个for的列表推导式
# 多for列表多推导式
list1 = [(i, j) for i in range(2) for j in range(3)]
print(list1)

输出结果

[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2)]

字典推导式

  • 快速生成字典
  • 可以根据一个变量生成字典,也可以将两个列表合成一个字典
简单的字典推导式
# 字典推导式
dict1 = {key: key ** 2 for key in range(1, 4)}
print(dict1)

输出结果

{1: 1, 2: 4, 3: 9}
合并两个列表为一个字典推导式
  • 如果两个字典长度不一致,应选取长度小的
  • 长度不一致,选取长的,会报错处理
# 将两个列表,合并为一个字典
list1 = ['name', 'age', 'gender']
list2 = ['Tom', 20, '男']
dict1 = {list1[i]: list2[i] for i in range(len(list1))}
print(dict1)

输出结果

{'name': 'Tom', 'age': 20, 'gender': '男'}
提取字典中的数据
# 提前字典中的目标数据
dict1 = {'TianJin': 87, 'BeiJing': 112, 'ShangHai': 143, 'Shenzhen': 156, 'HeBei': 89}
dict2 = {key: value for key, value in dict1.items() if value >= 100}
print(dict2)

输出结果

{'BeiJing': 112, 'ShangHai': 143, 'Shenzhen': 156}

集合推导式

  • 集合有去重的特性
# 集合推导式
list1 = [1, 2, 3, 4, 3, 2, 1]
set1 = {i for i in list1}
print(set1)
set1 = {i ** 2 for i in list1}
print(set1)

输出结果

{1, 2, 3, 4}
{16, 1, 4, 9}

相关文章

网友评论

      本文标题:011-公共方法

      本文链接:https://www.haomeiwen.com/subject/dgxgirtx.html