美文网首页Python基础知识汇总
Python中基础知识list、tuple、dict和set

Python中基础知识list、tuple、dict和set

作者: 抉择_路 | 来源:发表于2017-04-21 14:01 被阅读46次

都说好记性不如烂笔头,况且我的记性不是好只能一步一个脚印记录自己的学习成长。本文虽不是什么高质量技术文章,但对于自己的知识进行梳理也起到一定的巩固作用。开发版本:Python3.5.2

list列表

list是一种有序的集合,可以随时添加和删除其中的元素,元素可以是任意的数据类型且可以相同。对list的操作有增删改查:

# list列表

L = ['Python','php']

# 增加元素

L.append(2)#末尾追加元素

print(L)#['Python', 'php', 2]

L.insert(1,True)#指定位置插入元素 如果指定位置不存在默认末尾追加

#['Python', True, 'php', 2]

#删除元素

L.remove(2)#remove中的是元素

#['Python', True, 'php']

L.pop(2)#pop中的是下标位置 pop()删除末尾元素

#'Python', True]

#改元素(替换)

L[1] ='Java'#通过下标替换元素

# ['Python', 'Java']

L[0] =['list','tupe',12]

# [['list', 'tupe', 12], 'Java']

#查找元素(通过下标获取元素)

print(L[0])#['list', 'tupe', 12]

print(L[0][1])#tupe

tupe元组

tupe一但初始化就不能修改。因为tupe不能改变所有对tupe的操作只有查操作与list的查操作一样。

__len__()获取元素长度。

dict字典

使用键-值(key-value)存储,具有极快的查找速度。存放顺序与key顺序无关。

需要牢记的第一条就是dict的key必须是不可变对象。(因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash),要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key。)

请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。

和list比较,dict有以下几个特点:

查找和插入的速度极快,不会随着key的增加而变慢;

需要占用大量的内存,内存浪费多。

而list相反:

查找和插入的时间随着元素的增加而增加;

占用空间小,浪费内存很少。

#1. dic通过in判断key是否存在:

dic = {'Python':1,'Java':2,'php':3}

print('net'indic)#False

#2. 通过get方法,如果key不存在,可以返回None,或者自己指定的value:

print(dic.get('net'))#None

print(dic.get('net',34))#34

#删除

print(dic.pop('Java'))#2,返回value值

print(dic)#{'php': 3, 'Python': 1}

set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

#创建set需要提供一个list作为输入集合:

s =set(['sdf',2,True])

#添加元素到set通过方法add(key)

s.add('python')

print(s)#{True, 'sdf', 2, 'python'}

#删除元素remove(key)

s.remove(2)

L = [1,2,3]

lis = [1,2,4]

s =set(lis)

print(s)

#两个set可以做数学意义上的交集、并集等操作

s1 =set([1,2,3,4,5])

s2 =set([4,5,6])

print(s1&s2)

print(s1|s2)

相关文章

网友评论

    本文标题:Python中基础知识list、tuple、dict和set

    本文链接:https://www.haomeiwen.com/subject/dwtdzttx.html