列表
list函数
list() 函数用于将元组、区间(range)等转换为列表。
利用推导式创建列表
x=[x for x in range(10)]
print(x)# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
x=[1,2,3]
y=[1,2,3]
print(x is y)# False
创建多个列表
x = [a] * 4,可生成[a,a,a,a]
a=[1,2,3]
x=[a]*4
print(a) #[1, 2, 3]
print(x) # [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
列表追加元素
有两种方式:append和extend
append是将值直接添加进去,而extend是将一个列表所有元素添加进去
x=[1,2,3]
x.append([4,5])
print(x)# [1, 2, 3, [4, 5]]
x.extend([6,7])
print(x)#[1, 2, 3, [4, 5], 6, 7]
删除列表的元素
- list.remove(obj) 移除列表中某个值的第一个匹配项
- list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
列表的常用操作符
- 等号操作符:==
- 连接操作符 +
- 重复操作符 *
-
成员关系操作符 in、not in
特别注意的是:「等号 ==」,只有成员、成员位置都相同时才返回True。
列表其它常用用法
- list.count(obj) 统计某个元素在列表中出现的次数
- list.index(x[, start[, end]]) 从列表中找出某个值第一个匹配项的索引位置
- list.reverse() 反向列表中元素
- list.sort(key=None, reverse=False) 对原列表进行排序。
元组
元组是不可改变的,但可改变其元素的内容
元组有个通配符「*」,可以代表一个或多个元素。
t = (1,2,3,4,5,6)
a, b, *rest, c = t
print(a, b, c) #1 2 6
print(rest) #[3, 4, 5]
字符串
在字符串最左边加上r可以使计算机不进行转义
a=r'C:\nrogram Files\Intel\Wifi\Help'#等同于"C:\\nrogram Files\\Intel\\Wifi\\Help
b='C:\nrogram Files\Intel\Wifi\Help'
c='C:\\nrogram Files\\Intel\\Wifi\\Help'
print(a) #C:\nrogram Files\Intel\Wifi\Help
print(b)
'''
C:
rogram Files\Intel\Wifi\Help
'''
print(c) #C:\nrogram Files\Intel\Wifi\Help
字符串常用方法
- capitalize()将字符串的第一个字母转换为大写
- lower()将字符串转化为小写
- upper()将字符串转换为大写
- swapcase()将字符串中大写转换为小写,小写转换为大写
- cout(str)用来统计字符串出现str内容的次数
- endwith(str)字符串是否以str结尾
- startwith(str)字符串是否以str开头
- find(str)查找字串str的位置,找不到返回-1
- rfind(str)从右边开始查找子串str的位置
- isnumeric()判断字符串是否只包含数字
- lstrip([chars]) 截掉字符串左边的空格或指定字符。
- rstrip([chars]) 删除字符串末尾的空格或指定字符。
- strip([chars]) 在字符串上执行lstrip()和rstrip()。
- replace(old, new [, max]) 把 将字符串中的old替换成new,如果max指定,则替换不超过max次。
- split(str="", num) 不带参数默认是以空格为分隔符切片字符串,如果num参数有设置,则仅分隔num个子字符串,返回切片后的子字符串拼接的列表。
字符串的格式化
字符串内置的format函数
通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’
若{}中没有特定编号,则按顺序传参
str8 = "{0} Love {1}".format('I', 'Lsgogroup') # 位置参数
print(str8) # I Love Lsgogroup
str8 = "{a} Love {b}".format(b='I', a='Lsgogroup') # 关键字参数
print(str8) # Lsgogroup Love I
str8 = "{0} Love {b}".format('I', b='Lsgogroup') # 位置参数要在关键字参数之前
print(str8) # I Love Lsgogroup
str8 = '{0:.2f}{1}'.format(27.658, 'GB') # 保留小数点后两位
print(str8) # 27.66GB
I Love Lsgogroup
Lsgogroup Love I
I Love Lsgogroup
27.66GB
python的%对字符串进行格式化
s='%d + %d = %d' % (4, 5, 9)
x="I am %d years old." % 22
print(s+x)
4 + 5 = 9I am 22 years old.
print("number is %d"%5)
print("numbers is %d and %d"%(5,6))
number is 5
numbers is 5 and 6
字典
创建字典的方式:
- 使用dict()
- {}
集合
创建集合的方式:
只能使用set()
集合的常用方法
- set.add(element) #只添加一个元素
- set.update(elements) #添加多个元素
- set.remove(item) #删除某个元素,若没有会报错
- set.discard(value) 用于移除指定的集合元素
- set.pop() 用于随机移除一个元素
序列
在 Python 中,序列类型包括字符串、列表、元组、集合和字典,这些序列支持一些通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作。
- list(sub) 把一个可迭代对象转换为列表
- tuple(sub) 把一个可迭代对象转换为元组
- str(obj) 把obj对象转换为字符串
- len(s) 返回对象(字符、列表、元组等)长度或元素个数
- max(sub)返回序列或者参数集合中的最大值
- min(sub)返回序列或参数集合中的最小值
- sum(iterable[, start=0]) 返回序列iterable与可选参数start的总和
- sorted(iterable, key=None, reverse=False) 对所有可迭代的对象进行排序操作
- reversed(seq) 函数返回一个反转的迭代器。seq – 要转换的序列,可以是 tuple, string, list 或 range。
- zip(iter1 [,iter2 […]]) 用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组
a = [1, 2, 3]
b = [4, 5, 6]
c = [4, 5, 6, 7, 8]
zipped = zip(a, b)
print(zipped) # <zip object at 0x000000C5D89EDD88>
print(list(zipped)) # [(1, 4), (2, 5), (3, 6)]
zipped = zip(a, c)
print(list(zipped)) # [(1, 4), (2, 5), (3, 6)]
a1, a2 = zip(*zip(a, b))
print(list(a1)) # [1, 2, 3]
print(list(a2)) # [4, 5, 6]
<zip object at 0x000001F8375F7F80>
[(1, 4), (2, 5), (3, 6)]
[(1, 4), (2, 5), (3, 6)]
[1, 2, 3]
[4, 5, 6]