2019/1/15 python基础学习

一、列表切片
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 ———— 检测字符串是否是标题(每个单词首字母大写)
上一篇:如何写一个适配iPhoneX的底部导航


下一篇:【洛谷P1072】Hankson 的趣味题