地表最强系列之Python入门

列表

  1. 列表的特点
    用来储存多个数据的数据结构
    储存的数据是有序的,可使用位置索引
    列表长度和元素都是可变的
    可储存不同类型的数据
  2. 列表的使用方法
    创建列表:a=[1,2,3,4,5,6,[1,2]]
    使用索引获取列表中的数据:x[0], x[2], x[-1], x[-3]
    判断值是否存在于列表中:a=[1,2,3,4,5,6,[1,2]] print(1 in a)

元组

  • 元组的特点
    储存形式与列表相似
    与列表不同的地方:元素不可修改,长度不可改变
    常用于安全级别较高的场景应用
  • 元组的使用方法
    创建元组:
    t1=(1, 2, 3, 4, 5)
    t2=‘one’, 2, [3, 4], (5, 6)
    t3=tuple([1,2,3])

切片

  • [start:\end:step]
    start:起始索引,从0开始,-1表示结束
    end:结束索引
    step:步长,步长为正时,从左向右取值。步长为负时,反向取值
  • 对列表x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]切片
    在这里插入图片描述

遍历列表/元组中的元素

for  v  in  x:
    print(v)

zip()函数

将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象

matrix = [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11]]
//*matrix表示将matrix先拆开变成:[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11]
list(zip(*matrix))    # result: [1, 5, 9,2, 6, 10,3, 7, 11]

range类型

一段不可变的数字序列
经常被用作for里面来指定循环次数

  • 创建range对象
    range(start, stop, step)
    start的默认值是0,step的默认值是1
    在这里插入图片描述
  • range类型也支持切片
  • 使用for循环遍历range()
for  v  in  range(10):
    print(v)

列表、元组、range转换

  • 列表转元组
    t = tuple(l)# l是列表
  • 元组转列表
    l = list(t)# t是元组
  • range转列表
    l = list®# r是range
  • range转tuple
    t = tuple®# r是range

pack&unpack

  • pack
    变量转换成序列
    t = 1,2,3 #t是(1,2,3)
  • unpack
    序列转换成变量
    a,b,c=t #a=1,b=2,c=3
  • unpack中使用*
a, b, *c = 1,2,3,4,5		   # a=1, b=2, c=[3, 4, 5]
a, *b, c = 1,2,3,4,5		   # a=1, b=[2, 3, 4], c=5
*a, b, c = 1,2,3,4,5		   # a=[1, 2, 3], b=4, c=5
*a, b, c, d, e, f = 1,2,3,4,5    # a=[], b=1, c=2, d=3, e=4, f=5

在for循环中unpack元组

l = [(1,2), (3,4), (5,6)]
result=0
for x, y in l:
	result += x*y
print(result)

可变序列支持的操作

在这里插入图片描述

Set(集合)

  • 储存形式与列表相似
    集合中保存的数据具有唯一性,不可重复
    集合中保存的数据是无序的
    往集合中添加重复数据,集合将只保留一个
  • 创建一个集合
    空集合:变量=set()
    非空集合:变量={元素1,元素2,…}
  • 集合的并集
    newSet = s1 | s2 | s3
    newSet = s1.union(s2, s3)
  • 集合的交集
    newSet = s1 & s2 & s3
    newSet = s1.intersection(s2, s3)
  • 集合的差集
    newSet = s1 - s2 - s3
    newSet = s1.difference(s2, s3)
  • 判断是否是超集
    s1.issuperset(s2)
  • 判断是否是子集
    s2.issubset(s1)
  • 判断两个集合是否相交
    s1.isdisjoint(s2)

字典(Dict)

通过键值对(key-value)来储存数据
储存的数据是无序的,可使用键索引
键是必须唯一,但值可以不唯一
键的类型只能是字符串、数字或元组,值可以是任何

  • 字典操作
empty_dict = {} 
dict_1 = {1:'one', 2:'two', 3:'three'}
dict_2 = dict(one=1, two=2, three=3)
  • 获取字典中的值
x = d[1] #1是Key,不是索引
x = d['three']
x = d.get(3, 'This value when key is not found')
  • 遍历字典
    遍历字典的键
for k in x:
    print(k)

遍历字典的值

for v in x:
    print(v)

遍历字典的键值对

for k,v in x.items():
    print(k,v)

字符串操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三元表达式

效果等同于一个if…else语句
result=值1 if x<y else 值2
三元表达式示例:‘A’ if x%20 else ‘B’ if x%50 else ‘C’

列表生成式

在这里插入图片描述

字典生成式

{k:v for k,v in input if xxxx }

#将所有的key值变为大写
d = dict(a=1,b=2)
print({k.upper():v for k,v in d.items()})
#大小写key值合并, 统一以小写key值输出;
d = dict(a=2, b=1, c=2, B=9, A=5)
print({k.lower():d.get(k.lower(),0)+d.get(k.upper(),0) for k in d})

集合生成式

{v for v in input if xxxx}

#筛选字符串中的字母
{x for x in 'abracadabra' if x not in 'abc'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值