序列: 字符串、列表、元组 数组: 储存同一种数据类型的集合
索引
li = [1,2,3,[1,'b',3]]
print(li[2])
print(li[-1])
print(li[3][-2])
结果:
3
[1, 'b', 3]
b
切片
eg:li = [“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”] print (li[0:7:2]) #输出为从第0个索引开始,到第7减1个,步长为2 结果为: [‘1’, ‘3’, ‘5’, ‘7’] 已知:li = [‘172’,‘25’.‘254’,‘100’],输出“100-254-25”
li = ['172','25','254','100']
print("-".join(li[::-1][:3]))
print("-".join(li[3:0:-1])) #从第三个开始步长为-1,
结果:
100-254-25
100-254-25
布尔类型:
Ture:1 False:0 注:在布尔类型中,Ture一般用数字1代替,False用0代替
print(1 in ["a",True,[1,2]])
结果:
True #1默认为Ture
print(2 in ["a",True,[1,2]])
结果:
Flase
列表
打了激素的数组, 与数组区别:数组存储相同类型数据,列表可以是不同类型 序列: 能索引能切片 定义: 打了激素的数组 特性: 列表常用操作:
1.增加: 追加:(在第一个前面追加)
li = [1,2,3]
li.insert(2,'cat')
print(li)
结果:
[1, 2, 'cat', 3]
(在最后一个后面追加)
li = [1,2,3]
li.extend([4,5,6])
print(li)
结果:
[1, 2, 3, 4, 5, 6]
2.修改(通过索引和切片重新赋值)
li = [1,2,3]
li[0] = 'cat'
li[-1] = 'world'
print(li)
li = [1,2,3]
li[:2] = ['cat','world']
print(li)
结果:
['cat', 2, 'world']
['cat', 'world', 3]
3.查看(查看索引值和出现次数)
li = [1,2,3,1,5]
print(li.count(1)) #统计1出现的次数
print(li.index(3)) #打印数字3的索引,第一个3
结果:
2
2
4.删除
li = [1,2,3,1,5]
print(li.pop(0)) #删除索引为0的数
print(li)
#根据值删除
li.remove(1)
print(li)
#全部清空
li.clear()
print(li)
结果:
[2, 3, 1, 5]
[2, 3, 5]
[]
5.其他函数
li = [1,2,3,1,5]
#翻转
li.reverse()
print(li)
#排序(由小到大)
li.sort()
print(li)
#copy
li1 = li.copy()
print(id(li),id(li1))
print(li,li1)
结果:
[5, 1, 3, 2, 1]
[1, 1, 2, 3, 5]
2555557597440 2555557909376
[1, 1, 2, 3, 5] [1, 1, 2, 3, 5]
元组(tuple)(用小括号隔开)
带了紧箍咒的列表不可修改,不可增删。 基本特性: 元组的元素是不可变的,元组的元素的元素是可变的 #元组只有一个元素时要加逗号 常用方法:
t = (1,2,3,4,555,6)
print(t[:2])
print(t[1:])
print(t[::-1])
结果:
(1, 2)
(2, 3, 4, 555, 6)
(6, 555, 4, 3, 2, 1)
t1 = ()
print(t1,type(t1))
t2 = (1,) #元组只有一个元素时要加逗号
print(t2,type(t2))
t = (1,2,3,1,1,3)
print(t.count(1)) #统计1的个数
print(t.index(3)) #输出3的索引
print(t,type(t))
结果:
() <class 'tuple'>
(1,) <class 'tuple'>
3
2
(1, 2, 3, 1, 1, 3) <class 'tuple'>
特性:
print((1,2)+(3,))
print((1,2)*3)
结果:
(1, 2, 3)
(1, 2, 1, 2, 1, 2)
命名元组
namedtuple 功能更加强大
#从collections模块中导入nametuple对象
from collections import namedtuple
#创建命名元组对象User
User = namedtuple('User',('name','age','city'))
#给命名元组传值
user1 = User("liming","22","beijing")
#打印命名元组信息
print(user1)
print(user1.name)
print(user1.age)
print(user1.city)
结果:
User(name='liming', age='22', city='beijing')
liming
22
beijing
|