Python-列表、元组、字典、集合

列表

比C语言的数组强大的地方在于 列表中的元素可以是不同类型

列表的定义

testList = [1, 'a']
namesList = ['xiaoWang','xiaoZhang','xiaoHua']

列表的打印

namesList = ['xiaoWang','xiaoZhang','xiaoHua']
print(namesList[0])
print(namesList[1])
print(namesList[2])

结果:
xiaoWang
xiaoZhang
xiaoHua

列表的循环遍历

for循环

namesList = ['xiaoWang','xiaoZhang','xiaoHua']
for name in namesList:
        print(name)

while循环

	namesList = ['xiaoWang','xiaoZhang','xiaoHua']
	length = len(namesList)
	i = 0
	while i<length:
		print(namesList[i])
		i+=1

列表的相关操作

列表的嵌套操作

元组

Python的元组与列表类似,不同之处在于元组的元素不能修改

元组使用小括号(),列表使用方括号[ ]

元组的定义

元组特点:定义元组使用小括号,且逗号隔开各个数据,数据可以是不同的数据类型。

>>> aTuple = ('et',77,99.9)
>>> aTuple
('et',77,99.9)
>>> aTuple = (10,)
//注意:如果定义的元组只有一个数据,那么这个数据后面也要添加逗号,否则数据类型为唯一的这个数据的数据类型

元组的相关操作

<1>访问元组(下标访问)

<2>修改元组

 python中不允许修改元组的数据,包括不能删除其中的元素。

但是如果元组里面有列表,修改列表里面的数据则是支持的。

tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30)
print(tuple2[2])  # 访问到列表

tuple2[2][0] = 'aaaaa'
print(tuple2)
# 结果:(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)

<3>count, index, len

index():查找某个数据,如果数据存在返回对应的下标,否则报错。

count():统计某个数据在当前元组出现的次数。

len():统计元组中数据的个数。

>>> a = ('a', 'b', 'c', 'a', 'b')
>>> a.index('a', 1, 3) # 注意是左闭右开区间
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: tuple.index(x): x not in tuple
>>> a.index('a', 1, 4)
3
>>> a.count('b')
2
>>> a.count('d')
0
>>> print(len(a))
5

字典

  • 字典和列表一样,也能够存储多个数据
  • 字典中找某个元素(key:value)时,是根据key进行。(非下标)
  • 字典使用大括号{ },列表使用方括号[ ],元组使用小括号()

字典的定义

# 有数据字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
# 空字典
dict2 = {}
dict3 = dict()

字典的访问(根据key)

info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
print(info['name'])
print(info['address'])
结果:
班长
地球亚洲中国北京

若访问不存在的键,则会报错:

>>> info['age']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'age'
在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值: 
>>> age = info.get('age')
>>> age #'age'键不存在,所以age为None
None
>>> type(age)
<type 'NoneType'>
>>> age = info.get('age', 18) # 若info中不存在'age'这个键,就返回默认值18
>>> age
18

集合

特点:自动去除重复元素,无序,可变。、

集合的定义

创建集合使用{}set(), 但是如果要创建空集合只能使用set(),因为{}用来创建空字典。

s1 = {10, 20, 30, 40, 50}
print(s1)   #{40,10,50,20,30}

s2 = {10, 30, 20, 10, 30, 40, 30, 50}
print(s2)   #{40,10,50,20,30}

s3 = set('abcdefg')
print(s3)  #{'c','g','f','a','d','e'}

s4 = set()
print(type(s4))  # set

s5 = {}
print(type(s5))  # dict

集合可以去掉重复数据;
集合数据是无序的,故不支持下标

集合常见操作方法

增加数据

  • add()

s1 = {10, 20}
s1.add(100)
s1.add(10)
print(s1)  # {100, 10, 20}
  • update(), 追加的数据是序列。

s1 = {10, 20}
# s1.update(100)  # 报错
s1.update([100, 200])
s1.update('abc')
print(s1)

删除数据

  • remove(),删除集合中的指定数据,如果数据不存在则报错。

s1 = {10, 20}
s1.remove(10)
print(s1)
s1.remove(10)  # 报错
print(s1)
  • discard(),删除集合中的指定数据,如果数据不存在也不会报错。

s1 = {10, 20}
s1.discard(10)
print(s1)
s1.discard(10)
print(s1)
  • pop(),随机删除集合中的某个数据,并返回这个数据。

s1 = {10, 20, 30, 40, 50}

del_num = s1.pop()
print(del_num)
print(s1)

查找数据

  • in:判断数据在集合序列

  • not in:判断数据不在集合序列

    s1 = {10, 20, 30, 40, 50}
    
    print(10 in s1)
    print(10 not in s1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值