Python(列表、元组、集合、字典)

Python中可以通过组合一些值得到多种复合数据类型

列表

定义

通过方括号括起、逗号分隔的一组值得到
一个列表可以包含不同类型的元素,但通常使用时各个元素类型相同
##内置方法
1.list.append(x):在列表的末尾添加一个元素x
2.list.insert(i,x):在列表索引为i的位置插入元素x
3.list.remove(x):移除列表中第一个值为x的元素,如果没有这样的元素,抛出ValueError异常
4.list.pop(i):删除索引位置的值并返回
5.list.sort():排序,默认是升序 降序:list.sort(reverse=True)
6.list.reverse():反转
7.list.clear():删除列表中所有的元素
8.list.extend(iterable):使用可迭代对象中的所有元素来扩展列表
9.list.index(x[,start[,end]]):返回指定区间内第一个x元素索引值(从0开始),如果没有指定区间则是整个列表范围

list_a=[1,2,3,4,8,5,3,3]
print(list_a.index(3,3,7))         //区间是左闭右开[3,7)

10.list.count(x):返回元素x在列表中出现的次数
11.list.copy():返回列表的一个浅拷贝。相当于a[:]
注意:
insert、remove、sort方法只修改列表,没有打印出返回值——它们返回默认值None,这是Python中所有可变数据结构的设计原则

列表推导式

列表推导式:列表中的元素可以通过循环得到时,我们可以用列表推导式来书写
书写步骤:列表=[],方框里先写for循环,if判断或者嵌套子循环;然后再在括号的最前面加上列表元素的表达式

#for循环
list_square=[]
for i in range(1,4):
    list_square.append(i**2)
print(list_square)

#列表推导式
list_square2=[i**2 for i in range(1,4)]
print(list_square2)

#列表推导式中加一个判断
list_square3=[i**2 for i in range(1,4) if i!=3]
print(list_square3)

#列表推导式中加入嵌套循环
list_square4=[i*j for i in range(1,4) for j in range(5,7)]
print(list_square4)

元组

定义

元组使用()进行定义【tuple、list、range都是序列数据类型】,可以不加括号
元组是不可变的,可以通过解包、索引来访问
有一种特殊情况元组是可变的,如果元组里面嵌套列表,也就是元组的其中一个元素是列表,那么列表里面的元素是可变的tuple[2][1]="a"(先找到列表位置,再找到列表里面元素的位置)

元组的内置方法

1.tuple.count(x):返回元素x在元组中出现的次数
2.tuple.index(x[,start[,end]]):返回指定区间内第一个x元素索引值(从0开始),如果没有指定区间则是整个元组范围

集合

定义

集合是由不重复元素组成的无序的集
基本用法包括成员检测和消除重复元素
可以使用{}或者set()函数创建集合
要创建一个空集合只能用set()而不能用{}
##集合的内置方法
copy、clear、remove、pop与列表相似
添加元素:a.add(x)
两个集合之间的关系:
并集:a.union(b)
交集:a.intersection(b)
差集:a.difference(b)

集合推导式

a={i for i in "aaaaabbbbbbcccccdddeeefffggg"}    #打印结果:{'a', 'f', 'c', 'b', 'g', 'e', 'd'}

集合的去重用法

直接用set函数

a="aaabbbbcccdddeeefffggghhhh"
print(set(a))                   #{'b', 'g', 'c', 'h', 'f', 'd', 'a', 'e'}
print(type(set(a)))             #set(a)是一个集合类型

字典

ket:value形式
以关键字为索引
关键字可以是任意不可变类型,通常是字符串或数字。

定义

两种方法定义
第一种:用{},花括号里用key:value dict1={"a":1,"b":2}
第二种:用dict函数进行定义,是key=value dict2=dict(a=1,b=2)

内置方法

1.所有value值:dict1.values()
2.所有key值:dict1.keys()
3.dict.pop(k):删除key为k的一对键值并且返回它对应的value
4.dict.popitem():删除任意的键值,并且返回删除的键值对
5.dict.fromkeys(s[,v]):创建新的以s为键的字典

全部评论

相关推荐

06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务