1.序列的索引
从左往右:0 1 2 3 4
从右往左:-1 -2 -3 -4
2.序列相加
Python中列表的功能相当强大,两个列表的拼接直接相加即可:
list1 = ["炒酸奶","红烧肉"]
list2 = ["鱼香肉丝","烤冷面"]
print(list1+list2)
得到结果:
['炒酸奶', '红烧肉', '鱼香肉丝', '烤冷面']
3.序列相乘
得到一个重复次数的列表:
list1 = ['Hello']
print(list1*3)
得到
['Hello', 'Hello', 'Hello']
4.元素检查
语法格式:
value in sequence
如果在列表中,则返回Ture,与之相对的是not in,若不在列表返回True,反之则False。
5.切片※
语法格式:
sname [start:end:step]
#start 为开始位置,不指定则默认0
#end 表示截止位置,不指定则默认为序列长度
#step 步长,不指定则连续访问
!易错点辨析!
如果是list1 = list2则该拷贝是一种浅拷贝,仅仅是一种指针形式由list1指向2,而将切片列表中省略只留[:],如:list3[:]表示复制整个名称为list3的序列。
1.列表函数
list(data)举例
list(range(10,20,2))
得到列表
[10,12,14,16,18]
关于sort()和sorted(),先讨论sort()函数,其基本用法:
listname.sort(key= ,reverse= )
2.列表的访问
其访问形式类似于C++中的数组形式,如:
list1 = ["烤面筋","里脊扒饼","炸鲜奶"]
print(list1[2])
输出结果为
炸鲜奶
3.列表的遍历
① 直接使用for循环
list1 = ["烤面筋","里脊扒饼","炸鲜奶"]
for item in list1:
print(item)
② 使用for+enumerate()
使用组合可以同时输出索引值和元素内容
list1 = ["烤面筋","里脊扒饼","炸鲜奶"]
for index,item in enumerate(list1):
print(index+1,item)
输出:
1 烤面筋
2 里脊扒饼
3 炸鲜奶
4.列表元素的添加修改和删除
添加有三种方法:
修改元素直接赋值即可,删除元素使用del,如:
list1 = ["烤面筋","里脊扒饼","炸鲜奶"]
del list1[-1]
print(list1)
输出结果:
['烤面筋', '里脊扒饼']
如果要将一个不确定位置只确定元素值进行删除则使用remove()函数,要注意上面的del不是一个函数而是一条语句,它是索引式的删除。
list1 = ["烤面筋","里脊扒饼","炸鲜奶"]
list1.remove("炸鲜奶")
print(list1)
5.列表的统计计算
6.列表推导式
语法格式:
listname = [Expression for var in LIST]
- Ex 计算表达式
- var 循环变量
- LIST 计算范围
筛选条件列表:
newlist = [Expression for var in list if condition]
元组——tuple在形式上以()和,表示,在内容上任何类型的内容都可以放在一个元组中,通常元组用于保存程序中不可修改的内容,创建元组时直接赋值即可。
下列两种形式都是元组:
food = "水饺","灌汤包"
food = ("韩国炸鸡",)
下例则只是定义一个字符串:
food = ("韩国炸鸡")
在这里有一个和列表相同用法的转换方式:
tuple(data)
对符合元组的访问类似于C++中的二维数组形式:
food = ('abc',28,('炒酸奶','烤面筋'))
print(food[2])
('炒酸奶', '烤面筋')
print(food[2][0])
炒酸奶
print(food[2][1])
烤面筋
①元组元素的修改:
元组中的元素是无法直接修改的,但我们可以通过元组的重新赋值、连接组合进行修改,注意,元组只能和元组进行组合,除此之外的其他组合都会报错;数组连接时如果连接的数组只有一个元素一定不要忘记后面的逗号
②元组推导式:
与列表几乎完全一致,把[ ]改为()即可,但元组推导式的结果不是一个元组或列表,而是一个生成器对象,转换为元组使用tuple(),转换为列表则使用list()
dictionary = {'key1':'value1','key2':'value2',...,}
很容易想到字典的关键在于“键-值对”,“键”是索引,“值”即是键索引的内容。
引入创建字典的函数:dictionary = dir(zip(list1,list2)),list1做键,2做值,如果list1和list2的长度不同,则最后的结果长度与最短的一致,例:
name = ['张三','李四','王五']
age = ['19','20','18']
dictionary = dict(zip(name,age))#转换为字典,如果不用dict转换则其保持不可读的生成器模式
print(dictionary)
输出结果:
{'张三': '19', '李四': '20', '王五': '18'}
也可以通过给定的键值对创建字典
dictionary = dict(key1=value1,key2=value2,...,)
还可以使用函数fromkeys()创建只有键的空字典
name = ['张三','李四','王五']
dictionary = dir.fromkeys(name)
print(dictionary)
输出:
{'张三': None, '李四': None, '王五': None}
使用dictionary.clear删除字典元素。
判断访问的方法有两种:
dictionary = {'张三': '19', '李四': '20', '王五': '18'}
print(dictionary['张三'] if '张三' in dictinoary else '字典无此人')
dictionary.get(key,[default])
Python提供了items()函数用于字典的遍历:
for item in dictionary.items():
print(item)
这样得到的将是一个元组,若想获取各个具体的键和值,可以使用下列代码:
dictionary = {'张三': '19', '李四': '20', '王五': '18'}
for key,value in dictionary.items():
print(key,"的年龄是",value)
执行结果:
张三 的年龄是 19
李四 的年龄是 20
王五 的年龄是 18
Python还提供了values()和keys()方法专门获得值和键,用法与上述遍历一致。
dictionary[key] = value #会添加到末尾
格式与添加的格式完全一致,只需给它直接赋新的value,当元素存在时即相当于修改功能
dictionary = {'张三': '19', '李四': '20', '王五': '18'}
if '李四' in dictionary:
del dictionary['张三']
print(dictionary)
推导式我们已经遇到了很多,字典推导式依旧和前面保持一致,直接上代码格式:
import random
randomdict = {i:random.randint(10,100) for i in range(1,5)} #创建字典
print(randomdict)
本文地址:https://blog.csdn.net/tomatoin/article/details/107416648
如对本文有疑问, 点击进行留言回复!!
Python笔记-UiSelector中resourceId定位方式
【3Dtiles】3Dmax模型处理为gltf和3dtiles,包含LOD效果
荐 用Django全栈开发——08. 使用AdminLTE开发前端登录页面
网友评论