python学习笔记(列表方法;排序;元组;字符串)

列表方法

几种常见的方法(疑惑点讲解):

  1. lst.append(value): 将对象附加到列表末尾。(无返回值)
  2. lst.clear(): 清空列表。
  3. lst.copy(): 复制列表(下有讲解)。
  4. lst.count(value): 计算元素出现的次数。
  5. lst.extend(value): 在列表末尾添加多个值(下有讲解)。
  6. lst.index(value): 查找指定值的第一次出现的索引。
  7. lst.insert(loaction,value):插入数值。
  8. lst.pop(location): 删除元素并返回这一元素
  9. lst.remove(value): 删除第一次出现的指定元素。
  10. lst.reverse(): 相反的顺序排序。

个别方法讲解:

  1. 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]
  1. 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实现,但是可读性不高。

排序

  1. 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]
  1. 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'

字符串方法

  1. txt.center(width, "symbol"):居中,width:表示宽度;
  2. txt.ljust(width, "symbol"):居左;
  3. txt.rjust(width, "symbol"):居右;
  4. txt.zfill(width):居右,空位用0填充;
  5. txt.find("xxx", start, end):在字符串中找子串,返回第一个字符的索引,如果没有就返回-1;
  6. join:合并序列

symbol表示空位的填充字符

seq = ["1", "2", "3", "4"]
sep = '+'
sep.join(seq)
>>> '1+2+3+4'
  1. txt.lower():返回小写字母;
  2. txt.title():词首字母大写;
  3. txt.replace('old', 'new'):替换;
  4. split:拆除
'1+2+3+4'.split('+')
>>> ["1", "2", "3", "4"]
  1. txt.strip():删除开头和结尾的空白;
  2. 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)

判断是否符合条件,返回布尔值的方法。
isdigitisloweristitle等等…

你可能感兴趣的:(学习记录,python,字符串,列表)