Python四种基本结构的操作

列表

列表的创建有两种方法

SampleList = []

SampleList = list()

 列表中元素的添加

append(obj):在列表末尾添加元素obj

extend(seq):在列表末尾添加多个值,使用extend()函数,seq是一个可迭代对象,否则报错。

Insert(index,obj):将元素obj添加到列表的index位置处。

Sample = [1,2,3,4,5]

Sample.append(1)

#[1,2,3,4,5,6]

s = [7,8]

Sample.extend(s)

#[1,2,3,4,5,6,7,8]

Sample.insert(0,0)

#[0,1,2,3,4,5,6,7,8]

 列表中元素删除

pop(index=-1):删除列表index位置处元素,默认是-1,即最后一个,并且返回该元素值。

remove(obj):删除列表中第一次出现的obj元素。

clear():列表清空

两个删除函数,如果没有找到对应元素的话,则报错。

s = [1,2,3,4]

s.pop()

#[1,2,3]

s.remove(2)

#[1,3]

s.clear()

#[]

查找元素位置 

index(obj,start=0,end=1)函数

index函数从列表中查找元素,在下标索引为0到下标索引为1区间内查找obj元素,并且返回索引值。

如果没有则报错。

s = [1,2,3,4]

print(s.index(2))

#1

元素排序 

sort(reverse=True)函数

如果不加reverse默认为从小到大排序。

s = [2,3,1,6]

s.sort()

#[1,2,3,6]

s.sort(reverse=True)

#[6,3,2,1]

 列表元素倒置

使用reverse()函数

s = [1,2,3,4]

s.reverse()

#[4,3,2,1]

统计元素格式 

count(obj)函数可以统计列表中obj元素出现的次数,如果没有则返回0。

s = [1,2,3,4,1]

s.count(1)

#2

 集合

集合的创建只有一种方法

t = set()

不能使用t = {},因为{}默认是创建字典。

集合的性质1:(去重)

集合自身不能存在重复元素,决定了集合可以去重。

 s = [1,1,2,3,4,5,5]

print(set(s))

#{1,2,3,4,5}

 增加、删除元素

s = set([1,2,3])

s.add(4)

#{1,2,3,4}

s.pop()

#{2,3,4},集合pop与列表的pop是不同的,列表的pop默认删除最后一个,而集合默认删除第一个。

s.remove(2)

#{3,4}

s.update([1,2])

#{1,2,3,4},这里有一个小细节,在使用update,add添加元素的时候,集合会根据元素的大小按升序自动排列好,并且插入到合适的位置。

 求两个集合间交集

使用“&”符号,返回的也是一个集合。

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

s2 = set([2,3,4,5])

print(s1 & s2)

#{2,3}

 求两个集合间并集

使用 "|"符号,返回的是一个集合。

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

s2 = set([2,3,4,5[)

print(s1 | s2)

#{1,2,3,4,5}

 求两个集合的差集

使用"-"符号,返回一个集合。

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

s2 = set([2,3,4,5])

print(s1 - s2)

#{1}

元组 

元组一旦被定义就不允许再改变了,可以存储任意类型数据。

值得注意的是,如果元组中包含一个列表,那么列表中的元素可以改变。

元组的创建

直接使用小括号创建。

不过有一个小细节,当元组中只有一个元素的时候,必须要在最后加一个","来区分。

否则就会被认为是一个整数,而不是一个元组。

s = (1,2)

print(s)

#(1,2)

s = (1)

print(s)

#1,注意此时s被当作一个整数而不是一个元组了。

s = (1,)

print(s)

#(1,),此时s才被当作一个元组。

 元组的连接

值得注意的是,元组虽然不能改变,但是元组可以做连接。

s = (1,2)

print((1,2) + s)

#(1,2,1,2)

 元组计数、索引、排序

元组的计数、索引、排序都跟列表的使用方法一致。

count(),index(),sort()

接收多个参数(解包)

在元组解包中比较有意思。

scores = (65,89,59,78,100)
minscore,*middlescore,maxscore = scores   ##将第一个参数赋值给minscore,最后一个参数赋值给maxscore,其余参数所有赋给middlescore
print(minscore)

#65
print(middlescore)

#[89,59,78]
print(maxscore)

#100

 字典

字典是四种结构中,读取速度最快的一种结构。

字典创建

d = {'name':'xiaohong','age':18}

d = dict()

字典的增加

字典[新的key] = 值。

如果key在原字典中已经存在则修改,否则则添加。

update()函数,一般用作两个字典的拼接,如果update的字典中已存在某个键值对,则修改。

d = {'name':'xiaoming', 'age': 18}

d['gender'] = '男'

print(d)

#{'name': 'xiaoming', 'age': 18, 'gender': '男'}

d.update({'id': '001', 'color': 'yellow', 'name': 'rose'})

print(d)

#{'name': 'rose', 'age': 18, 'gender': '男', 'id': '001', 'color': 'yellow'}

 字典的删除

del()在字典中遵循查找"键"的方式进行删除,并且返回这一个键所对应的

clear()清空字典。

pop(obj)删除指定键的键值对,必须有一个obj参数否则报错,而且必须是键,不能是一个索引!

popitem()删除最后一个键值对。并且以元组的形式返回键值对。

d = {'name': 'xiaoming', 'age': 18}

d.pop('name')

print(d)

#{'age':18}

d = {'name': 'xiaoming', 'age': 18}

print(d.popitem())

#('age': 18)

 字典的查询,重要!!!!

get(key,None)函数,查询一个键,返回这个键的值,不存在时不报错,可以默认返回None,也可以指定返回大小。

keys()函数,获取所有键。

values()函数,获取所有值。

items()函数,获取所有键值对并且以元组的格式返回。

d = {'name': '小明', 'age': 18, 'gender': '男', 'id': '001'}

print(d.get('name'))        #小明

print(d.get('2b',520))        #520,指定返回值,返回为520.

print(d.keys())        #dict_keys(['name', 'age', 'gender', 'id'])

print(d.values())        #dict_values(['小明', 18, '男', '001'])

print(d.items())        #dict_items([('name', '小明'), ('age', 18), ('gender', '男'), ('id', '001')])

 

 

你可能感兴趣的:(python,python)