原文地址:www.cluren.xyz
List操作
*列表方法
方法 | 描述 |
---|---|
append() | 在列表的末尾添加一个元素 |
clear() | 删除列表中的所有元素 |
copy() | 返回列表的副本 |
count() | 返回具有指定值的元素数量。 |
extend() | 将列表元素(或任何可迭代的元素)添加到当前列表的末尾 |
index() | 返回具有指定值的第一个元素的索引 |
insert() | 在指定位置添加元素 |
pop() | 删除指定位置的元素 |
remove() | 删除具有指定值的项目 |
reverse() | 颠倒列表的顺序 |
sort() | 对列表进行排序 |
*操作解释
一、添加元素(扩展列表)
- append()
(1)元素追加
>>> member = [1,2,'a']
>>> member.append('b')
>>> member
[1, 2, 'a', 'b']
>>>>>> member = [1,2,'a']
>>> member.append('b')
>>> member
[1, 2, 'a', 'b']
>>>
(2)列表追加
# 使用 extend() 方法将 list2 添加到 list1 的末尾:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list1.extend(list2)
print(list1)
['a', 'b', 'c', 1, 2, 3]
- extend()
(1)元素追加
# 添加单个元素:
>>> member=[1, 2, 'a', 'b']
>>> member
[1, 2, 'a', 'b']
>>> member.extend('s')
>>> member
[1, 2, 'a', 'b', 's']
>>>
# 添加的对象必须是可迭代序列:
>>> member
[1, 2, 'a', 'b']
>>> member.extend(5)
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
member.extend(5)
TypeError: 'int' object is not iterable
# 可用如下方法添加:
>>> member.extend([5])
>>> member
[1, 2, 'a', 'b', 5]
>>>
# 添加两个元素会报错:
>>> member.extend('a','b')
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
member.extend('a','b')
TypeError: extend() takes exactly one argument (2 given)
>>> member.extend(['a''b'])
>>> member
[1, 2, 'a', 'b', 's', 'ab']
(2)列表追加
>>> list1 = [1,2,4]
>>> list2 = [12,6]
>>> list1.extend(list2)
>>> print(list1)
[1, 2, 4, 12, 6]
- insert()
>>> member.insert(1,'ss')
>>> member
[1, 'ss', 2, 'a', 'b', 's', 'a', 'b']
>>>
- +运算 #两个列表的拼接(不可+元素)
>>> s1 = [1,2,3]
>>> s2 = [4]
>>> print(s1+s2)
[1,2,3,4]
#Extend是把每个元素都作为一个独立的元素扩充到原来的列表,而append则是把整个扩充列表作为一个元素追加到列表最后。
二、删除元素
- remove(i) # i为要移除的对象
>>> member=[1,2,'a']
>>> member
[1, 2, 'a']
>>> member.remove(1)
>>> member
#### [2, 'a']
>>>
- pop() #可指定删除某项,默认删除末尾元素,删除某个元素时返回这个元素的值
>>> member=[1,2,'a']
>>> member.pop()
'a'
>>> member.pop(0)
1
>>> member
[2]
>>> name = member.pop()
>>> name
2
>>>
- clear() # 清空列表的元素(类似于 del a[:])
>>> member
[1, 2, 'a', 'b', 5]
>>> member.clear()
>>> member
[]
>>>
- del #删除列表
>>> del member
>>> member
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
member
NameError: name 'member' is not defined
>>>
三、列表复制
- copy()
thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)
["apple", "banana", "cherry"]
四、计数、排序、统计
- count() # 统计某项出现的次数
>>> L=['s','s','a','s']
>>> L.count('s')
3
- index() # 从列表中找出某个值第一个匹配项的索引位置,返回
>>> L
['s', 's', 'a', 's']
>>> L.index('a')
2
四、关系操作
- 大小比较(比较第一个元素的ASCII值)
>>> list1 = [1,2,3]
>>> list2 = [2,3,4]
>>> list1 < list2
True
>>> list3 = [2,1,0]
>>> list1 > list3
False
>>> (list1 < list2) and (list1 < list3)
True
>>>
- 关系判断(判断元素是否属于此列表)
>>> list1 = [1,2,3]
>>> 1 in list1
True
>>> 4 in list1
False
>>> 2 not in list1
False
>>>
# 列表内嵌列表的元素的索引与判断:
>>> list1 = [1,2,[3,4],5,6]
>>> 3 in list1
False
>>> 3 in list1[2]
True
>>> list1[2][0]
3
>>>
- * #重复操作
>>> list1 = [123,456]
>>> list1*3
[123, 456, 123, 456, 123, 456]
>>> list1 *=3
>>> list1
[123, 456, 123, 456, 123, 456]
>>>
- reveres #将列表元素倒叙排列
>>> list1
[2, 2, 2, 2, 1, 1, 1, 3, 3]
>>> list1.reverse()
>>> list1
[3, 3, 1, 1, 1, 2, 2, 2, 2]
>>>
- sort()#默认正序排序
>>> list1
[3, 3, 1, 1, 1, 2, 2, 2, 2]
>>> list1.sort()
>>> list1
[1, 1, 1, 2, 2, 2, 2, 3, 3]
>>> list1.sort(reverse=True)
>>> list1
[3, 3, 2, 2, 2, 2, 1, 1, 1]
>>>
list2=list1 #list2与list1共用一个地址
list2=list1[:] #两个元素相同的列表
元组
创建单个元素或需要加逗号
>>> temp=(1)
>>> type(temp)
<class 'int'>
>>> temp2=(1,)
>>> temp3=()
>>> type(temp2)
<class 'tuple'>
>>> type(temp3)
<class 'tuple'>
>>>
逗号是标识元组的关键标识(不加括号有逗号也可以创建元组)
>>> temp=1,2
>>> type(temp)
<class 'tuple'>
元组操作
- *重复操作
- del删除
- +拼接操作
- < > =关系操作
- in ,not in成员操作 (可用切片法更新元组)
>>> temp=(1,2,4)
>>> temp=temp[:1]+(3,)+temp[1:]
>>> temp
(1, 3, 2, 4)
>>>
字符串操作
方法 | 描述 |
---|---|
capitalize() | 把字符串的第一个字符改为大写 |
casefold() | 把整个字符串的所有字符改为小写 |
center(width) | 将字符串居中,并使用空格填充至长度 width 的新字符串 |
count(sub[, start[, end]]) | 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。 |
encode(encoding=‘utf-8’, errors=‘strict’) | 以 encoding 指定的编码格式对字符串进行编码。 |
endswith(sub[, start[, end]]) | 检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。 |
expandtabs([tabsize=8]) | 把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。 |
find(sub[, start[, end]]) | 检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。 |
index(sub[, start[, end]]) | 跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。 |
isalnum() | 如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。 |
isalpha() | 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。 |
isdecimal() | 如果字符串只包含十进制数字则返回 True,否则返回 False。 |
isdigit() | 如果字符串只包含数字则返回 True,否则返回 False。 |
islower() | 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False。 |
isnumeric() | 如果字符串中只包含数字字符,则返回 True,否则返回 False。 |
isspace() | 如果字符串中只包含空格,则返回 True,否则返回 False。 |
istitle() | 如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。 |
isupper() | 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。 |
join(sub) | 以字符串作为分隔符,插入到 sub 中所有的字符之间。 |
ljust(width) | 返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串。 |
lower() | 转换字符串中所有大写字符为小写。 |
lstrip() | 去掉字符串左边的所有空格 |
partition(sub) | 找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 (‘原字符串’, ‘’, ‘’) |
replace(old, new[, count]) | 把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。 |
rfind(sub[, start[, end]]) | 类似于 find() 方法,不过是从右边开始查找。 |
rindex(sub[, start[, end]]) | 类似于 index() 方法,不过是从右边开始。 |
rjust(width) | 返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串。 |
rpartition(sub) | 类似于 partition() 方法,不过是从右边开始查找。 |
rstrip() | 删除字符串末尾的空格。 |
split(sep=None, maxsplit=-1) | 不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。 |
splitlines(([keepends])) | 在输出结果里是否去掉换行符,默认为 False,不包含换行符;如果为 True,则保留换行符。。 |
startswith(prefix[, start[, end]]) | 检查字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。 |
strip([chars]) | 删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选。 |
swapcase() | 翻转字符串中的大小写。 |
title() | 返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。 |
translate(table) | 根据 table 的规则(可以由 str.maketrans(‘a’, ‘b’) 定制)转换字符串中的字符。 |
upper() | 转换字符串中的所有小写字符为大写。 |
zfill(width) | 返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充。 |