列表是可变的,即可修改其内容。使用函数list可以利用字符串来创建列表。
print(list('watkins')) # ['w', 'a', 't', 'k', 'i', 'n', 's']
# 要将字符列表转换为字符串,可使用''.join(somelist)
print(''.join(['w', 'a', 't', 'k', 'i', 'n', 's'])) # watkins
基本的列表操作
修改列表:给元素赋值、删除元素、给切片赋值
name = list('watkins')
# 可将切片替换为长度与其不同的序列
name[3:] = list('son')
print(name) # ['w', 'a', 't', 's', 'o', 'n']
# 可在不替换原有元素的情况下插入新元素
name[3:3] = list('2019')
print(name) # ['w', 'a', 't', '2', '0', '1', '9', 's', 'o', 'n']
# 可用来删除切片
name[3:] = []
print(name) # ['w', 'a', 't']
列表方法
方法是与对象联系紧密的函数,通常使用这样的调用方法:object.method(arguments)
方法 | 描述 | 说明 |
---|---|---|
append | 将一个对象追加到列表末尾 | 就地修改列表 |
clear | 就地清空列表的内容 | 类似于切片赋值语句lst[:] = [] |
copy | 赋值列表 | b = a.cpoy() 将b关联到a的副本。类似于使用a[:] 或list(a) |
count | 计算指定的元素在列表中出现了多少次 | 不存在直接返回0 |
extend | 能够同时将多个值附加到列表末尾 | 可使用一个列表来扩展另一个列表 |
index | 在列表中查找指定值第一次出现的索引 | 不存在会引发ValueError 异常 |
insert | 将一个对象插入列表 | 两个参数:索引、对象。insert(0,...) 表示在第一个位置插入对象 |
pop | 从列表中删除一个元素并返回这一元素 | pop 是唯一既修改列表又返回一个非None值的列表方法。pop(0) 表示从第一个位置弹出元素 |
remove | 删除第一个值为指定值的元素 | 只删除了为指定值的第一个元素。不存在将引发ValueError 异常 |
reverse | 按相反的顺序排列列表中的元素 | 就地修改不返回任何值。list(reversed(lst)) 返回按相反的顺序迭代的序列。 |
sort | 对列表就地排序 | 两个可选参数:key和reverse。 两种方式:先将y关联到x的副本再对y进行排序、使用 函数sorted |
name = list('watkins')
nu = name
nu[3:] = list('son')
print(name) # ['w', 'a', 't', 's', 'o', 'n']
name = list('watkins')
nv = name.copy()
nv[3:] = list('son')
print(name) # ['w', 'a', 't', 'k', 'i', 'n', 's']
name = list('watkins')
try:
print(name.index('m'))
except ValueError:
print('Value Error') # Value Error
para = list('baby')
if 'b' in para:
para.remove('b')
print(para) # ['a', 'b', 'y']
# 函数reversed返回可迭代对象,可使用list对返回的对象进行转换
name = list('watkins')
print(list(reversed(name))) # ['s', 'n', 'i', 'k', 't', 'a', 'w']
name = list('watkins')
nu = name.copy()
nu.sort()
print(nu) # ['a', 'i', 'k', 'n', 's', 't', 'w']
print(name) # ['w', 'a', 't', 'k', 'i', 'n', 's']
# 函数sorted返回一个列表,key参数为自定义函数,reverse参数默认为False,指明升序
names = ['Watkins', 'uSelf', 'siso', 'Oscar', 'pjing']
names.sort(key=len, reverse=True)
print(names) # ['Watkins', 'uSelf', 'Oscar', 'pjing', 'siso']
print(sorted(names, key=str.lower)) # ['Oscar', 'pjing', 'siso', 'uSelf', 'Watkins']
(最近更新:2019年05月16日)