列表方法
几种常见的方法(疑惑点讲解):
lst.append(value)
: 将对象附加到列表末尾。(无返回值)lst.clear()
: 清空列表。lst.copy()
: 复制列表(下有讲解)。lst.count(value)
: 计算元素出现的次数。lst.extend(value)
: 在列表末尾添加多个值(下有讲解)。lst.index(value)
: 查找指定值的第一次出现的索引。lst.insert(loaction,value)
:插入数值。lst.pop(location)
: 删除元素并返回这一元素。lst.remove(value)
: 删除第一次出现的指定元素。lst.reverse()
: 相反的顺序排序。
个别方法讲解:
copy
a = [1, 2, 3]
b = a
b[1] = 4
>>> a
>>> [1, 4, 3]
# 这样的赋值可以理解为把a的地址赋值给b,对b的修改也作用于a
如果想要独立修改b,那么就要使用copy
语句:
a = [1, 2, 3]
b = a.copy()
b[1] = 4
>>> a
>>> [1, 2, 3]
extend
extend
可以将多个值附加到列表末尾,从而修改列表,这与两个列表相加不一样,相加是创建一个新的列表,而extend
则是修改当前列表。
a = [1, 2, 3]
b = [4, 5, 6]
a + b
>>> [1, 2, 3, 4, 5, 6]
a
>>> [1, 2, 3]
a.extend(b)
a
>>> [1, 2, 3, 4, 5, 6]
这样的拓展列表a还可以用a = a+b
来实现,但是效率低;也可以用a[len(a) : ] = b
实现,但是可读性不高。
排序
sort
: 对列表排序,但没有返回值。
x = [4, 6, 2, 7, 1, 9]
y = x.sort() # sort方法没有返回值,这一操作是错误的!
print(y)
>>> None
# 正确操作为:
y = x.copy()
y.sort()
x
>>> [4, 6, 2, 7, 1, 9]
y
>>> [1, 2, 4, 6, 7, 9]
sorted()
: 这个方法可以返回新的列表
y = sorted(x)
x
>>> [4, 6, 2, 7, 1, 9]
y
>>> [1, 2, 4, 6, 7, 9]
sort
还可以接受两个可选参数,key
&reverse
x.sort(key=len)
x
>>> ['re', 'asd', 'qweqwe', 'asdfasd', 'eqweqwrqw']
x.sort(key=len, reverse=True)
x
>>> ['eqweqwrqw', 'asdfasd', 'qweqwe', 'asd', 're']
元组
单值元组的创建需要加,
:(52,)
tuple('aaa')
----> (‘a’, ‘a’, ‘a’)
字符串
字符串方法format
,替代字符串用花括号括起来,
"{}, {}, and {}".format("first", “second”, "third")
,替换字段没有索引或者名称则按顺序替换,若有索引或名称,就按索引和名称替换。
# 无索引按默认顺序替换
txt = "{},{}, and {}"
txt.format("first","second","third")
>>> 'first,second, and third'
# 索引替换
txt = "{1},{2},{0}, and {1}"
txt.format("first","second","third")
>>> 'second,third,first, and second'
# 按名称替换
txt = "{name} is approximately {value: .2f}"
txt.format(value = pi, name = "π")
>>> 'π is approximately 3.14'
字符串方法
txt.center(width, "symbol")
:居中,width:表示宽度;txt.ljust(width, "symbol")
:居左;txt.rjust(width, "symbol")
:居右;txt.zfill(width)
:居右,空位用0填充;txt.find("xxx", start, end)
:在字符串中找子串,返回第一个字符的索引,如果没有就返回-1;join
:合并序列
symbol表示空位的填充字符
seq = ["1", "2", "3", "4"]
sep = '+'
sep.join(seq)
>>> '1+2+3+4'
txt.lower()
:返回小写字母;txt.title()
:词首字母大写;txt.replace('old', 'new')
:替换;split
:拆除
'1+2+3+4'.split('+')
>>> ["1", "2", "3", "4"]
txt.strip()
:删除开头和结尾的空白;translate
:
from string import maketrans # 引用 maketrans 函数。
intab = "aeiou"
outtab = "12345"
trantab = maketrans(intab, outtab)
str = "this is string example....wow!!!";
print str.translate(trantab);
>>> 'th3s 3s str3ng 2x1mpl2....w4w!!!'
[resource:](https://www.runoob.com/python/att-string-translate.html)
判断是否符合条件,返回布尔值的方法。
isdigit
、islower
、istitle
等等…