列表和字符串的一些使用情况的补充,参考了《Python3从入门到实战》这本书
- 参考了《Python3从入门到实战》这本书
- 1.用in可以判断一个元素是否在一个list里面
- 2.可以通过加法运算+拼接两个list,用整数和list的乘法运算*复制list内容.
- 3.del()可以删除list中一个元素或一个范围里的元素
- 4.枚举函数enumerate()
- 五:一些内置函数
- sorted(iterable,key=None,reverse=False)
- all() 当list为空或者所有元素为Ture时返回True 否则返回False
- any() 当list不为空且有一个元素为True时返回True 否则返回False
- enumerate() 返回一个enumerate 对象,包含了所有元素的索引和值的元组
- len() 返回长度
- list() 将一个可迭代对象(tuple,set,dict)转换为一个list
- sorted() 返回新排好序的list(原来的list不变)
- sum() 返回list中所有元素的和
- 六:list的extend()方法在list后添加多个元素
- 七:list的insert方法可以在中间某个位置插入一个元素
- 八:list的pop方法可以删除指定下标的元素,如果没有指定下标,则删除最后一个元素.而list的clear()方法是清空整个列表
- 九:list的remove方法可以删除特定的元素
- 十:list的sort方法可以对list进行排序,sort(key=None,reverse=False)
- sort方法和函数sorted的区别是list的sort方法会修改他作用的list,而sorted不会修改原list,而是返回一个新的list
- 十一:
- index()返回匹配元素的索引
- count()返回匹配元素在list中出现的次数
- reverse()将list中的元素逆序
- copy()返回list的一个浅拷贝
- 十二:列表解析式
- list中的元素不是对象本身,而是对象的引用.无论每个对象本身占据多大内存,这个引用总是占据固定大小的内存。
- 十三:转义字符
- 十四:字符串
- 和list一样,字符串可以进行切片,形式如下:str[start : end : step],返回一个包含start但不包含end的字符串,不过字符串不可以修改,可以用in判断一个字符是否在一个字符串对象中
- 枚举函数返回一个包含所有元素的(下标,值)的enumerate对象
- upper()将所有字母变成大写,lower()将所有字母变成小写
- lstrip() rstrip() strip() 分别用于删除字符串左侧,右侧,左右两侧位置的空白字符
- split() 通过制定分隔符对字符串进行分割split(srp=None,max=-1),sep是分隔符,默认为空格,max表示最大分割次数,可以产生max+1个分割的字符串,默认-1,表示分割没有限制,该方法返回分割后的字符串列表
- 连接join:用这个字符串连接序列中的其他字符串
- 替换replace: replace(old,new,[,max])
- find(str,beg=0,end=len(string))
- index(str,beg=0,end=len(string))
- 这两个方法都是在字符串中查找是否存在匹配字符串的子串,其中beg表示开始位置,end表示结尾,如果查找成功返回子串位置,否则find方法返回-1 index方法报错
- rfind和rindex用于从反方向查询是否存在匹配的子串
- find只是字符串的方法,而index也是list tuple的方法
- count用于子串的计数 count(str,beg=0,end=len(string))
- 格式化format():
- :d表示十进制的整数 :f表示输入浮点数 :b : o :x表示输出的是二进制,八进制,十六进制的数
- eval()函数:
- 把一个字符串当表达式来使用
参考了《Python3从入门到实战》这本书
1.用in可以判断一个元素是否在一个list里面
l = [1,2,3]
if 1 in l:
print("1在里面")
运行结果如下:
1在里面
2.可以通过加法运算+拼接两个list,用整数和list的乘法运算*复制list内容.
l1 = [1,2,3]
l2 = [4,5,6]
print(l1+l2)
print(l1*2)
运行结果如下:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3]
3.del()可以删除list中一个元素或一个范围里的元素
del作用于指向list的变量本身时,这个变量名从系统中被删除,它的list引用计数减1,只有当list引用计数为0时,这个list才被删除
l = [1,2,3]
del l[1:3]
print(l)
运行结果如下:
[1]
4.枚举函数enumerate()
l = ["deng","zhi","cheng"]
for i ,v in enumerate(l):
#可以设置strat从几开始
print(i,v)
运行结果如下:
0 deng
1 zhi
2 cheng
l = ["deng","zhi","cheng"]
for i ,v in enumerate(l,start=1):
#可以设置strat从几开始
print(i,v)
运行结果如下:
1 deng
2 zhi
3 cheng
五:一些内置函数
sorted(iterable,key=None,reverse=False)
a = [1,4,7,2,5]
#对这个列表进行排序
print(sorted(a))
运行结果如下:
[1, 2, 4, 5, 7]
all() 当list为空或者所有元素为Ture时返回True 否则返回False
any() 当list不为空且有一个元素为True时返回True 否则返回False
enumerate() 返回一个enumerate 对象,包含了所有元素的索引和值的元组
len() 返回长度
list() 将一个可迭代对象(tuple,set,dict)转换为一个list
sorted() 返回新排好序的list(原来的list不变)
sum() 返回list中所有元素的和
六:list的extend()方法在list后添加多个元素
l = [1,2,3]
l.extend([2,3,4])
print(l)
运行结果如下:
[1, 2, 3, 2, 3, 4]
七:list的insert方法可以在中间某个位置插入一个元素
odd = [1,9]
odd.insert(1,3)
print(odd)
[1, 3, 9]
八:list的pop方法可以删除指定下标的元素,如果没有指定下标,则删除最后一个元素.而list的clear()方法是清空整个列表
l = [1,2,3,4,5]
l.pop(1)
print(l)
l.pop()
print(l)
l.clear()
print(l)
运行结果如下:
[1, 3, 4, 5]
[1, 3, 4]
[]
九:list的remove方法可以删除特定的元素
l = [2,3,4]
l.remove(2)
print(l)
运行结果如下:
[3, 4]
十:list的sort方法可以对list进行排序,sort(key=None,reverse=False)
sort方法和函数sorted的区别是list的sort方法会修改他作用的list,而sorted不会修改原list,而是返回一个新的list
l = [3,6,1,8,2]
#l.sort()
l1 = sorted(l)
print(l)
print(l1)
运行结果如下:
[3, 6, 1, 8, 2]
[1, 2, 3, 6, 8]
l = [3,6,1,8,2]
l.sort()
print(l)
运行结果如下:
[1, 2, 3, 6, 8]
十一:
index()返回匹配元素的索引
count()返回匹配元素在list中出现的次数
reverse()将list中的元素逆序
copy()返回list的一个浅拷贝
l = [1,2,3,4,5]
print(l.index(5))
print(l.count(5))
print(l.reverse())
print(l.copy())
运行结果如下:
4
1
None
[5, 4, 3, 2, 1]
十二:列表解析式
list中的元素不是对象本身,而是对象的引用.无论每个对象本身占据多大内存,这个引用总是占据固定大小的内存。
l = [2**x for x in range(10)]
print(l)
运行结果如下:
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
十三:转义字符
#转义字符
print("\'")#打一个引号
print("\\")#打一个反斜杠
#原始字符串,若希望忽略转义字符则将R或者r放在前面
print(r"hello\t\n")
print(R"\'")
运行结果如下:
'
\
hello\t\n
\'
十四:字符串
和list一样,字符串可以进行切片,形式如下:str[start : end : step],返回一个包含start但不包含end的字符串,不过字符串不可以修改,可以用in判断一个字符是否在一个字符串对象中
s = 'hello'
print('h' in s)
运行结果如下:True
枚举函数返回一个包含所有元素的(下标,值)的enumerate对象
str = 'hello'
str1 = enumerate(str)
for i,j in str1:
print(i,"---",j)
运行结果如下:
0 --- h
1 --- e
2 --- l
3 --- l
4 --- o
upper()将所有字母变成大写,lower()将所有字母变成小写
str = 'Hello World'
str = str.upper()
print(str)
运行结果如下:
HELLO WORLD
lstrip() rstrip() strip() 分别用于删除字符串左侧,右侧,左右两侧位置的空白字符
s2 = ' 111111 '
print("*",s2.lstrip(),"*")
print("*",s2.rstrip(),"*")
print("*",s2.strip(),"*")
运行结果如下:
* 111111 *
* 111111 *
* 111111 *
split() 通过制定分隔符对字符串进行分割split(srp=None,max=-1),sep是分隔符,默认为空格,max表示最大分割次数,可以产生max+1个分割的字符串,默认-1,表示分割没有限制,该方法返回分割后的字符串列表
s = 'hello,world'
print(s.split())
print(s.split('l',1))
print(s.split('l',-1))
运行结果如下:
['hello,world']
['he', 'lo,world']
['he', '', 'o,wor', 'd']
连接join:用这个字符串连接序列中的其他字符串
l = ["xusong","is","my","lover"]
result = "--".join(l)
print(result)
运行结果如下:
xusong--is--my—lover
替换replace: replace(old,new,[,max])
s1 = "hello hello hello"
s1 = s1.replace('ell','a',2)#替换几次
print(s1)
运行结果如下:
hao hao hello
find(str,beg=0,end=len(string))
index(str,beg=0,end=len(string))
这两个方法都是在字符串中查找是否存在匹配字符串的子串,其中beg表示开始位置,end表示结尾,如果查找成功返回子串位置,否则find方法返回-1 index方法报错
rfind和rindex用于从反方向查询是否存在匹配的子串
find只是字符串的方法,而index也是list tuple的方法
count用于子串的计数 count(str,beg=0,end=len(string))
l = 'hello hello hello'
print(l.count('hello'))
运行结果如下;3
格式化format():
:d表示十进制的整数 :f表示输入浮点数 :b : o :x表示输出的是二进制,八进制,十六进制的数
print("{:d}".format(123))
print("{:f}".format(123.12312312321))
print("{0:b},{0:o},{0:x}".format(12))#加0的目的是占位
运行结果如下:
123
123.123123
1100,14,c
#format() 方法还可以接受dict()实参
person = {'age':23,"name":"帅哥"}
print("{name} 的 {age} 是".format(**person))
运行结果如下:
帅哥 的 23 是
eval()函数:
把一个字符串当表达式来使用
print(eval("1+2"))
运行结果如下:
3