Python学习笔记一(序列)

序列

存储多个值的连续内存空间,并且按照一定的顺序排列,每一个值都分配一个数字,称为索引或位置

列表

索引

[1,2,3,4,5,6]
索引从左到右依次为0,1,2,3,4,5
索引从右到左依次为-1,-2,-3,-4,-5,-6

切片

语法:listname[start🔚step]
Listname:列表名称
Start:切片开始位
End:切片截止位
Step:切片步长
例:

List_name = [1,2,3,4,5,6]
Print(List_name[1:4])  #可以取索引1,但不能取索引4的位置
>> 2,3,4

列表相加

列表可以相加但不会去重
例:

List_1 = [1,3,2]
List_2 = [8,7,6,1]
Print(List_1 + List_2)
>> [1,3,2,8,7,6,1]

列表乘法

列表乘以n的结果为原列表内容重复n次的结果

例:

List_1 = [2,1]
Print(List_1 * 3)
>> [2,1,2,1,2,1]

列表成员判定

语法:
Value in list_name 或者 Value not in list_name
Value 在列表中打印出True,否则打印出False

列表计算

列表元素总个数:len(list_name)
列表元素最大值:max(list_name)
列表元素最小值:min(list_name)

创建、删除列表

“=” 创建: list_name = [1,2,3,4]
创建空列表:list_name = [ ]
创建数值列表:list(range(1,12,2)) #创建1到12的列表,不能取值12,同时步长为2
删除列表:del list_name

datetime.datetime.now().weekday() # 获取当前星期的索引

列表遍历

语法:for i in list_name
使用for循环与enumerate()函数实现同时输出索引与元素内容
语法:for index,i in enumerate(list_name) # index索引号 i 列表元素

添加元素

List_name.append(element) # append()该方法向列表末尾增加一个元素

修改元素

语法:通过索引为元素赋值(修改)
例:

List_name = [2,3,5,1,8]
List_name[1] = 500
>> List_name = [2,500,5,1,8]

删除元素

根据索引删除语法
例:

List_name = [2,3,5,1,8]
Del List_name[1]

根据元素值删除语法
例:

List_name = [2,3,5,1,8]
List_name.remove(5)

列表统计与计算

列表List_name中value元素出现的次数
语法:List_name.count(value)
列表List_name中value元素首次出现的位置
语法:List_name.index(value)
数值列表元素和
语法:sun(list_name[,start])
list_name:需要统计的列表名称
start:表示统计结果是从哪个数开始

列表排序

sort()
List_name.sort(key=None,reverse=False)
Key:指定从每个元素中提取一个用于比较的键,(key=str.lower 排序时不分大小写)
Reverse: reverse=False(升序排列) revers=True(降序排列)
中文内容排序
Sorted(list_name,key=None,reverse=False)

列表推导式

生成指定范围的数值列表
语法:List_name = [Expression for I in range]
Expression:用于计算生成新列表的元素
Range:随机数
例:

Import random
List_name = [random.randint(1,10) for I in range(5)] #生成一个5个元素的列表 元素范围[1-10]

在原列表基础上生成一个新列表
语法:New_list_name = [Expresion for I in list_name]
例:

List_name = [121,321,231,142,124]
New_list_name = [int(I * 0.5) for I in List_name]

将原列表中的元素提取出来组成一个新的列表
语法: new_list_name = [Expresion for I in list_name if condition]
例:

List_name = [121,321,231,142,124]
New_list_name = [int(I * 0.5) for I in list_name if I >200]

列表嵌套

arr = []
for i in range(4):
    arr.append([])
    for j in range(5):
        arr[i].append(j)
print(arr)
>>[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
arr = []
for i in range(4):
    arr.append(list(range(0,5)))
print(arr)
>>[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]

使用推导式创建

Arr = [[j for j in range(5)] for I in range(4)]

元组

与列表相似,按照特定顺序排列的元素组成,不可变
异同点:元组不可变,列表可变。元组元素不可单独修改,列表元素可单独修改
使用赋值运算符“=”创建元组:tuple_name = (value1,value2,……)

创建数值元组

语法:tuple(range(1,100,2))

删除元组

语法:del tuple_name

访问元组元素

print(tuple_name[:]) #[]里面是索引,前开区间,后闭区间

遍历元组

语法:for I in tuple_name
例:

cofe = ("苹果","橘子","草黑")
for i in cofe:
    print(i + "咖啡",end = " ")

例:

number = ("一","二","三","四","五","六","七","八")
for index,i in enumerate(number):
    if index%2 == 0:
        print(i + "\t\t",end="")  #end="" 不换行符
    else:
        print(i + "\n") #换行

修改元组元素

由于元组是不可变的序列,所以不能单独修改,只能整体修改,即对元组重新赋值
语法:
Tuple_name = (value1,value2,……)
Tuple_name = (……)

元组之间可相加

语法:Tuple_name = Tuple_name1 + Tuple_name2
进行元组相加时,如果存在元组只有一个元素,那么该元组元素后面必须加一个“,”号

元组推导式

例:

import random
randomnumber = (random.randint(1,10) for i in range(10)) #生成器对象
randomnumber = tuple(randomnumber)  #转化为元组

字典

字典是无序的可变序列,内容以键值对形式存在。字典中的键唯一且不可变

创建字典

语法:dict_name = {“key1”:”value1”, “key2”:”value2”,……}
创建空字典:
语法:

dict_name = {}        
dict_name = dict()

通过映射函数创建字典(将多个列表或元组组合转化为字典)

语法:dict_name = dict(zip(list_1,list_2))
zip():将多个列表或元组对应位置的元素组合为元组,并返回这些内容的zip对象。如果想获取元组,可以将zip对象使用tuple()函数转化这些元组;如果想获取列表,可以将zip对象使用list()函数转化为列表

例:

a = [1,2,3,4,5]
b = [11,22,33,44,55]
c = tuple(zip(a,b))
d = list(zip(a,b))
e = dict(zip(a,b))

删除字典

删除字典:
del dict_name

删除字典中的元素:
dict_name.clear()

删除字典对象:
dict_name.pop() #指定键

访问字典

语法:dict_name[ ] #输入键,返回值,如果键不存在会报错

语法:dict_name[“key”] if “key” in dict_name else “该键key不存在” #避免报错

语法:dict_name.get(“key”)

遍历字典

全部遍历:for item in dict_name.items(): #返回的是元组

区分遍历:for key,value in dict_name.items():

编辑字典

添加键值对:dict_name[key] = value
删除键值对:del dict_name[key] #键不存在时会报错,需要添加if判断

If key in dict_name():
	del dict_name[key]

字典推导式

语法:dict_name = {i:random.randint(10,100) for I in range(1,5)}

无序可变集合set {}

创建集合:
语法:
set_name = (element1, element2, element3,……)
set_name = set(iteration) #将列表、元组等转化为集合,如果是字符串,元素不重复

添加元素:

set_name.add(element)

删除元素

语法
del删除整个集合:del set_name()
删除指定元素:set_name.remove()
删除第一个元素:set_name.pop()

集合运算符:交集& 并集| 差集-

列表、元组、字典、集合异同点
数据结构 | 是否可变 | 是否重复 | 是否有序 |定义符号
-------- | -----| -----| -----| -----| -----
列表list|√|√ |√ |[]
元组tuple | ×| √ | √ |()
字典dict| √ | √ | ×|{key:value}
集合{}|√| ×|× |{}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小桃子的思念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值