天天看点

天池龙珠计划Python训练营-task2笔记列表元组字符串字典集合序列

列表

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
           

字典

创建字典的方式:

  1. 使用dict()
  2. {}

集合

创建集合的方式:

只能使用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]