1、List方法
- append() :在list列表末尾添加元素
- clear() : 清空list列表中的元素
- copy() : 拷贝同一个list引用
- count() :计算指定元素出现的次数
- extend() : 链接两个list
- index() :输出指定元素的下标
- insert() : 插入指定元素,可以指定位置
- pop() : 默认弹出最上面的元素(可指定下标)
- remove() : 移除指定元素(第一次出现的)
- reverse() : 反转list
- sort() :按字典序排列list(可以放入自己的排序函数)
list = [1,2,3,3];
print("list=", end='');
print(list);
# append()
list.append(4);
print('list.append()=', end='');
print(list);
#count()
print('list.count(3)=', end='');
print(list.count(3))
#extend()
list2 = ['a', 'b'];
list.extend(list2);
print('list.extend(list2)=', end='');
print(list);
#index()
print('list.index("a")=', end='')
print(list.index('a'))
#pop()
print('list.pop()=', end='')
print(list.pop())
print('list=', end='')
print(list)
#remove()
list.remove(3)
print('list.remove(3)=', end='')
print(list)
#reverse()
list.reverse()
print('list.reverse()=', end='')
print(list)
#sort()
#str类型与int类型无法比较,利用pop()方法弹出第一个元素'a'
list.pop(0)
list.sort()
print('list.sort()=', end='')
print(list)
#copy()
list3 = list.copy();
print('list3=', end='')
print(list3)
# clear()
list.clear();
print("list.clear()=", end='');
print(list);
2、Tuple方法
- count():同上
- index():同上
3、Str方法
- capitalize():字符串首字母大写
- center(): 指定输出字符串长度,指定一个字符前后填充
- count():统计指定字符个数
- encode():为字符串指定编码格式
- endswith():检测字符串是否以给定字符串结尾(可以指定字符串的开始与结束为止)
- startwith():检测字符串是否以给定字符串开头(可以指定字符串的开始与结束为止)
- expandtabs():将字符串中的’\t’字符转变为空格(可以指定转变的空格个数,默认为8)
- index():查找指定字符串在字符串中第一次出现的下标。若找不到指定字符串,则报错。(rindex()从字符串尾开始找起)
- format():格式化输出,先不做介绍
- find():查找指定字符串在字符串中第一次出现的下标。若找不到指定字符串,则返回-1。(rfind()从字符串尾开始找起)
- isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
- isalpha():如果字符串的所有字符都是字母则返回 True,否则返回 False
- isdigit():如果字符串的所有字符都是数字则返回 True,否则返回 False
- isspace():如果字符串只包含空格、制表符和换行,并且非空,返回True
- istitle():如果字符串仅包含以大写字母开头、后面都是小写字母的单词,返回True
- join():指定连接字符,依次连接传入的字符
- lower():将字符串中的字母全都转为小写字母
- upper():将字符串中的字母全都转为大写字母
- ljust():返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
- rjust():返回一个原字符串右对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
- strip():去除字符串头尾的指定字符(lstrip()与rstrip()分别只移除头与尾部)
- maketrans(intab, outtab):intab – 字符串中要替代的字符组成的字符串。outtab – 相应的映射字符的字符串。
- translate():与maketrans()方法连用,将指定字符串中的代替字符改为映射字符
- partition():指定字符串分割字符串,返回一个三元组。第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
(rpartition()从字符串尾开始找起) - replace():返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
- title():每一个空格后的英文单词首字母都大写
- spilt():以指定字符串分割字符,若是两个指定字符串相邻,则分割出的元素为空格。(rsplit()从字符串尾开始查找)
- splitlines([keepends]):keepends – 在输出结果里是否保留换行符(’\r’, ‘\r\n’, \n’),默认为 False,不包含换行符,如果为 True,则保留换行符。
- swapcase():将字符串的字母大小写替换
- zfill():将字符串左对齐,指定结果字符串大小,并在字符串前用0填充。
str = 'fasaffdda fdafdass'
#capitalize()
print('str.capitalize()=', end='')
print(str.capitalize())
#center()
print('str.center(25,"*")=', end='')
print(str.center(25, "*"))
#count()
print('str.count("a")=', end='')
print(str.count('a'))
#encode()
#b为二进制意思
str1 = "中国"
print('str1,encode("utf-8)="', end='')
print(str1.encode('utf-8'))
#endswith()
print('str.endswith("das")=', end='')
print(str.endswith('das'))
#expandtabs()
str1 = "adfa\tfdaf"
print("str1=" + str1)
print("str1.expandtabs()=" + str1.expandtabs(8))
#find()
print('str.find("sa")=', end='')
print(str.find('sa'))
print('str.find("safds")=', end='')
print(str.find('safds'))
#index()
print('str.index("sa")=', end='')
print(str.index('sa'))
#islower()
print('str.islower()=', end='')
print(str.islower())
#istitle()
print('str.istitle()=', end='')
print(str.istitle())
#join()
list = ['hello', 'world', '!']
print(' '.join(list))
#ljust()
print('str.ljust(25, "*")=' + str.ljust(25, '*'))
#strip()
print('str.strip("s")=' + str.strip('s'))
#maketrans()
intab='abcde'
outtab='12345'
translate = str.maketrans(intab, outtab);
print('str.maketrans(intab, outtab)=', str.translate(translate))
#partition()
print('str.partition("ff")=', end='')
print(str.partition('ff'))
#replace()
print('str.replace("a", "*", 3)=' + str.replace('a', '*', 3))
#split()
print('str.split("f")=', end='')
print(str.split('f'))
#splitlines()
str1 = 'ab c\n\nde fg\rkl\r\n'
print('str1.splitlines()=', end='')
print(str1.splitlines())
#swapcase()
str1 = 'dfaASDS'
print('str1.swapcase()=' + str1.swapcase())
#title()
str1 = 'fad daf ffdfd'
print('str1.title()=' + str1.title())
#zfill()
print('str.zfill(25,"*")=', end='')
print(str.zfill(25))
4、深浅拷贝
浅拷贝copy():指把存放变量的地址值传给被赋值,最后两个变量引用了同一份地址。
深拷贝deepcopy():指被赋值的变量开辟了另一块地址用来存放要赋值的变量的值(内容)。
但对可变类型与不可变类型是不一样的。
list的copy会分配两个不同的地址空间,而tuple的copy则是指向同一个地址空间。
id一样则为浅拷贝,否则为深拷贝。
import copy
list1 = [1,2,3]
list2 = list1.copy()
print('id(str1)=', end='')
print(id(list1))
print('id(str2)=', end='')
print(id(list2))
list2[0] = 2
print('str2=', end='')
print(list2)
print('str1=', end='')
print(list1)
list3 = ['1', list1]
print('id(str3)=', end='')
print(id(list3))
print('id(str3[1])=', end='')
print(id(list3[1]))
list3[1][0] = 5;
print('str3=', end='')
print(list3)
print('str1=', end='')
print(list1)
#tuple
tuple1 = (1,2,3)
tuple2 = copy.copy(tuple1)
print('id(tuple1)=', end='')
print(id(tuple1))
print('id(tuple2)=', end='')
print(id(tuple2))