【老板叫我了】python常用方法和运算符整理

777 阅读4分钟

前言

【老板归来了】系列更新啦

这个系列主要用来记录「python」和「数据分析」学习过程中的一些内容

既然是写出来分享的东西,就要负责一点,不让大家看的那么枯燥

希望大家工作顺利,天天开心~

引子

今天,可恶的产品又提了一个奇葩的需求,她竟然想让我们的app跟随用户手机壳颜色改变主题颜色!

一下午我都在筋疲力尽地解释这是不可能实现的,可她仍然不依不饶。就在这时候,老板叫我去他办公室。

小方啊,今天我加了一个python学习交流群,我把我字符串逆序输出的代码发到群里,他们都在笑话我,你看看是怎么回事?

.... 老板你怎么写的

我就创建一个列表,遍历了一下原字符串,然后把字符从列表尾部复制过去,最后把字符列表转化成字符串输出。有什么问题吗?

额,老板你直接用运算符strA[::-1]就可以了...

卧槽!这么简单?!那我还像个傻子似的写了那么多!

= =

你!把你知道的类似的操作都整理一份,下班前发给我!

。。。好的

晚上10点,我把整理的东西发给了老板..

常用操作

字符串

(1)如果不希望字符串中的\表示转义,可以通过在字符串的最前面加上字母r

s1 = r'\'hello, world!\''   
print(s1) # hello

(2)可以用innot in来判断一个字符串是否包含另一个字符串

str1 = 'abc123456'
print('abc' in str1) # True
print('jkl' in str1) # False

(3)可以用[ ][:]做字符串切片或截断操作

[a:b:c] a,b正数表示索引从首部开始,负数表示从尾部开始,c表示步长

str1 = 'abc123456'
print(str2[2:5]) # c12
print(str2[2:]) # c123456
print(str2[2::2]) # c246
print(str2[::2]) # ac246
print(str2[::-1]) # 654321cba
print(str2[-3:-1]) # 45

(4)常用函数

str1 = 'hello, world!'
# 获得字符串首字母大写的拷贝
print(str1.capitalize()) # Hello, world!
# 获得字符串每个单词首字母大写的拷贝
print(str1.title()) # Hello, World!
# 从字符串中查找子串所在位置
print(str1.find('or')) # 8
# 检查字符串是否以指定的字符串开头
print(str1.startswith('He')) # False
# 输出指定长度的字符串,str1居中,左右是指定的字符 *
print(str1.center(50, '*')) # ***..**hello, world!**..***
# 输出指定长度的字符串,str1靠右放置,左侧是指定的字符
print(str1.rjust(50, ' ')) #            hello, world!
-----------------------------------------------------------
str2 = 'abc123456'
# 检查字符串是否由数字构成
print(str2.isdigit())  # False
# 检查字符串是否以字母构成
print(str2.isalpha())  # False
# 检查字符串是否以数字和字母构成
print(str2.isalnum())  # True
-----------------------------------------------------------
str3 = '  jackfrued@126.com '
print(str3)
# 获得字符串修剪左右两侧空格之后的拷贝
print(str3.strip()) # jackfrued@126.com

(5)模板字符串

a, b = 5, 10
print('{0} * {1} = {2}'.format(a, b, a * b))
a, b = 5, 10
print(f'{a} * {b} = {a * b}')  #【python3.5之后在字符串前加上字母f】

列表

(1)如何遍历获取元素的索引和值

# 通过enumerate函数处理列表之后再遍历可以同时获得元素索引和值
for index, elem in enumerate(list1):
   print(index, elem)

(2)常用方法

list1 = [1, 3, 5, 7, 100]
# 添加元素
list1.append(200)
list1.insert(1, 400)
# 合并两个列表
# list1.extend([1000, 2000])
list1 += [1000, 2000]
print(list1) # [1, 400, 3, 5, 7, 100, 200, 1000, 2000]
print(len(list1)) # 9
# 先通过成员运算判断元素是否在列表中,如果存在就删除该元素
if 3 in list1:
   list1.remove(3)
if 1234 in list1:
   list1.remove(1234)
print(list1) # [1, 400, 5, 7, 100, 200, 1000, 2000]
# 从指定的位置删除元素
list1.pop(0)
list1.pop(len(list1) - 1)
print(list1) # [400, 5, 7, 100, 200, 1000]
# 清空列表元素
list1.clear()
print(list1) # []

(3)列表的生成式语法

使用列表的生成式语法来创建列表

f = [x for x in range(1, 10)]
print(f)
-----------------------------------------------------------
f = [x + y for x in 'ABCDE' for y in '1234567'] 
print(f)   # ['A1', 'A2',...,'E7']
-----------------------------------------------------------
# 用列表的生成表达式语法创建列表容器
f = [x ** 2 for x in range(1, 1000)]
print(f) # [1, 4, 9, 16, 25...]

未完待续... ...