python学习day02

数据结构

列表list

定义
方式1[]
s=[1,'a','1',1.0]
print(s)
a=range(0,5,2)
print(a,type(a)) --type(a)range
a=[range(0,5,2)]
print(a,type(a)) --type(a)list
方式2list()
s=list([1,'a','1',1.0])
print(s)
a=[range(5)]
print(a,type(a))
b=range(5)
print(b,b[1],type(b))
c=[x for x in range(5)]
print(c,c[1],type(c))
--输出结果为
[range(0, 5)] <class 'list'>
range(0, 5) 1 <class 'range'>
[0, 1, 2, 3, 4] 1 <class 'list'>
访问

正索引:从左往右,从0开始,到列表长度len(列表)

负索引:从右往左,从-1开始

a=[x for x in range(5)]
print(a)
b=a[0:-1]
print(b)
--输出为
[0, 1, 2, 3, 4]
[0, 1, 2, 3]
a[1:]--第一个元素之后,不包含第一个
a[:-1]--打印最后一个元素之前的
a[::-1]--倒序输出
a*2--输出两遍
1 in a--判断是否存在
for i in a:
	print(i)--遍历输出
添加

添加一个元素:+,.append,.insert

添加多个元素:+,.extend

a=[x for x in range(5)]
#使用+,连接两个列表,必须是列表,带[]
a+=['a']
print(a)
#.append,追加一个元素,只能追加一个元素,列表也可以作为一个元素
a.append(99)
print(a)
#.extend,追加多个元素
a.extend(['01','10'])
print(a)
#指定索引位置,插入元素
a.insert(1,['o','i'])
print(a)
--输出结果为
[0, 1, 2, 3, 4, 'a']
[0, 1, 2, 3, 4, 'a', 99]
[0, 1, 2, 3, 4, 'a', 99, '01', '10']
[0, ['o', 'i'], 1, 2, 3, 4, 'a', 99, '01', '10']
删除
a=list(range(5))
#弹出第一个元素
b=a.pop(0)
print(a,b)
#删除指定对象
a.remove(1)
print(a)
#删除列表
del a
--输出
[1, 2, 3, 4] 0
[2, 3, 4]
修改
a=list(range(5))
#修改一个值
a[0]=99
print(a)
#修改多个值,修改最后两个值
a[len(a)-2:]=[100,101]
print(a)
--输出
[99, 1, 2, 3, 4]
[99, 1, 2, 100, 101]
查看
a.count('1')--查看出现的次数
a.index('1')--查看出现的最小索引值
a.index('1',1,5)--从索引15中查找
排序
#对字符串不区分大小写排序,对数值从小到大排序
a.sort()
#乱序,随机打乱
import random
random.shuffle(a)

元组tuple

元组与列表

  • 列表创建用[],元组()
  • 列表元素可修改,元组不可修改
  • 列表可变类型,元组不可变类型
  • python对元组进行了优化,访问和处理速度比列表快
创建
#tuple()
a=tuple((1,2,3))
#()
a=(1,2,3)

当创建的元组只包含一个元素时,必须带逗号',',a=(1,)
访问

与列表一样,使用索引访问,a[索引]

删除

元组不能只删除一个或某些元素,只能删除整个元组,del a

字典dict

创建
a={'zs':100,'ls':99}
访问、修改、增加、删除
#访问
a['zs']
#修改
a['zs']=0
#增加
a['ww']=88
#删除
del a['zs']

集合set

创建
#直接使用{}
a={'1','2','3'}
#使用set(),将列表、元组等迭代对象转换为集合
a=set([1,2,3])
增加、删除
#增加
a.add('4')
#删除集合
del a
#随机删除一个元素
a.pop()
#删除指定元素
a.remove('4')
#删除全部元素
a.clear
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值