一、列表切片
a、快捷方式:spam[:3] ----表示从列表开始到3位置结束;拿到的内容是0,1,2没有3位置上的数字。
spam[3:]
b、列表的拼接、复制:
拼接:使用 + [1,2,3]+['A','B'] >>>>[1,2,3,'A','B']
复制:使用 [1,2,3]2 >>>[1,2,3,1,2,3]
拼接:使用+= spam = 'hello' spam += 'world' >>>>spam = 'hello world'
复制:使用*= 同理。
c、del可从列表中删除值: del spam[2]
二、利用列表实现多重赋值:
cat = ['fat','red','big']
size,color,tgv = cat
或者直接 size,color,tgv = ['fat','red','big']
三、类似列表的类型:字符串和元组也可以像list一样,切片,取值,用于for循环、用于len(),使用in or not in; 这一顿操作下来,依然是以字符串的形式输出的。连接、复制也是一样的。
四、
引用列表后,不管改变哪个引用的变量,其他的都会跟着变,故,要想互不影响,可以使用copy函数:
import copy
spam = [''A','B','C']
chees = copy.copy(spam)
chees[1] = 43
spam = [''A','B','C']
chees = [''A',43,'C']
#######################################
一、字典;{2:'aplle',……}
a、字典是不排序的;--- 他不通过位置来索引。
b、可以调用pprint来打印整齐的、换行的字典。
c、这种key-value的储存方式,如果查找key不存在,则回报错。
对此,可以先通过 in 来验证是否存在key。 'A' in dict -- 会返回True或false。
二是通过dict提供的get()
方法,如果key不存在,可以返回None
,或者自己指定的value:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
注意:返回None
的时候Python的交互环境不显示结果。
通过 .pop()函数来删除key。
二、字符串
a、注释不仅仅可以使用#,也可以使用 ’‘’ 来实现多行注释;
b、利用upper()与lower()来忽略大小写;
c、使用isX()函数,用来排错;
isalpha() -----字符串只包含字母、并非空集,则返回Ture;
isalnum() -------只包含字母和数字;
isdecimal() -------只含数字;
isspace() --------只含空格、制表符、换行;
istitle() -------只含以大写字母开头,后面是小写字母的单词;
d、字符串方法startswith()或endswith();
let s = 'Hello world!'; s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true
s.includes('Hello', 6) // false
使用第二个参数n
时,startsWith
的行为与其他两个方法有所不同。它针对前n
个字符,而其他两个方法针对从第n
个位置直到字符串结束。
#############
以下函数都是调用的,并可以赋值给别的变量:
a、用于列表与字符串之间的转换;
使用join()--- 列表转字符串
split()----字符串转列表,()里面加划分元素的凭借;
b、用于输出文本的对其函数:rjust()--右对齐 ; ljust() --左对齐 ;center() ----居中 ;
c、删除字符串中的特定字符或者空格:调用strip()函数 ,要删啥就给括号里写啥。lstrip() --- 删除左边空格;
################
a、文本对齐函数:rjust()、ljust()、center();
b、模块pyperclip中包含copy()与paste();
********************************************************************字符串拼接*********************************************************************************************************
(一)消除空格及特殊字符
s = '000hello00world000'
s.strip() #消除字符串s左右两边的空白字符(包括'\t','\n','\r','')
s.strip('0') #消除字符串s左右两边的特殊字符(如'0'),字符串中间的'0'不会删除
s = '12hello21'
s.strip('12')
s.strip('12')等价于s.strip('21')
lstrip,rstrip 用法与strip类似,分别用于消除左、右的字符
(二)字符串复制
① 要复制字符串的变量名*2
② 变量名之间的传递
(三)字符串拼接
① 通过 “+” 拼接
② __add__函数 (在后面追加字符串)
③ 通过F-strings拼接(字符串插值)
s1 = 'Hello'
s2 = 'World'
f'{s1} {s2}!'
④ import operator
s3 = operator.concat(s1,s2) #concat为字符串拼接函数
(四)字符串序列连接
join方法:
语法为str.join(seq) #seq为元素序列
l = ['hello','world','sds']
str = "-"
a= str.join(l)
(五)字符串长度、最大字符和最小字符
len()、max()、min()
(六)字符串大小写转换
upper ———— 转换为大写
lower ———— 转换为小写
title ———— 转换为标题(每个单词首字母大写)
capitalize ———— 首字母大写
swapcase ———— 大写变小写,小写变大写
(七)字符串分割
split方法,根据参数进行分割,返回一个列表
s1 = 'hello,world'
S1.split(‘,’)
(八)字符串内查找
str.find(str[,start,end]) #str为要查找的字符串;strat为查找起始位置,默认为0;end为查找终止位置,默认为字符串长度。若找到返回起始位置索引,否则返回-1
>>>s1 = 'today is a fine day'
>>>s1.find('is')
6
>>>s1.find('is',3)
6
>>>s1.find('is',7,10)
-1
(九)字符串内替换
str.replace(old,new[,max]) #old为旧串,new为新串,max可选,为替换次数
(十)判断字符串的组成
isdigit ———— 检测字符串时候只由数字组成
isalnum ———— 检测字符串是否只由数字和字母组成
isalpha ———— 检测字符串是否只由字母组成
islower ———— 检测字符串是否只含有小写字母
isupper ———— 检测字符串是否只含有大写字母
isspace ———— 检测字符串是否只含有空格
istitle ———— 检测字符串是否是标题(每个单词首字母大写)