Python的 列表、元组和字典

Python中最为常用的数据容器有列表、元组和字典。是使用Python必须掌握的基础。本文详细介绍列表、元组和字典,以及字典的两种(按照key排序和按照value排序)排序方法。

一、列表
1.创建

list1 = [1,2,3,4,5,6]
list2 = [‘a’,‘b’,‘c’,‘d’,‘e’]
list3 = [1,‘2’,[3,“a”],(5,6)]
特殊的创建方法:

li = [x for x in range(5)] #[0, 1, 2, 3, 4]
li = [(x, x * 2) for x in range(5)] #[(0, 0), (1, 2), (2, 4), (3, 6), (4, 8)]
li = [x for x in range(5) if (x % 2) == 0] #[0, 2, 4]
2.访问

list1[1] #2
list3[-1] #(5,6)
3.切片

list1[::2] #[1, 3, 5]
list3[2:-1] #[[3, ‘a’]]
list3[2][1] #‘a’
4.修改

list1[0] = 0 #[0, 2, 3, 4, 5, 6]
list2[2] = [“b”] #[‘a’, ‘b’, [‘b’], ‘d’, ‘e’]
list3[0:2] = [1.1,‘2.2’] #[1.1, ‘2.2’, [3, ‘a’], (5, 6)]
5.删除

list1 = [1,2,3,4,5,6]

del list1[0] #[2, 3, 4, 5, 6]
del list1[1:2] #[1, 4, 5, 6]
list1[1:2] = [] #[1, 4, 5, 6]
6.操作符(’+’, ‘*’ , in, not in)

list1 = [1,2,3,4,5,6]
list2 = [‘a’,‘b’,‘c’,‘d’,‘e’]

li = list1 + list2 #[1, 2, 3, 4, 5, 6, ‘a’, ‘b’, ‘c’, ‘d’, ‘e’]

li = list1 * 2 #[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]

5 in list1 #True

8 not in list1 #True
7.函数方法

li = [0,1,2,3,3,5]

#列表长度
len(li) #6

#列表最大值
max(li) #5

#列表最小值
min(li) #0

#在末尾增加元素
li.append(6) #[0, 1, 2, 3, 3, 5, 6]

#元素出现的次数
li.count(3) #2

#返回元素第一次出现的索引
li.index(3) #3 (没有该元素会跑出异常)

#在index为7的位置插入元素9
li.insert(7,9) #[0, 1, 2, 3, 3, 5, 9]

#删除index位置的元素
li.pop(4) #[0, 1, 2, 3, 5]

#移除指定元素的第一个值
li.remove(3) #[0, 1, 2, 3, 5]

#翻转列表
li.reverse() #[5, 3, 3, 2, 1, 0]

#排序
li.sort(reverse=False) #[0,1,2,3,3,5]

#清空列表
li.clear()
del li[:]
li = []
二、元组
1.创建

元组的元素可以直接赋值给多个变量,但变量数必须与元素数量一致。Python中函数Function是可以返回多个值的,这时返回的就是元组类型。

a, b, c = (1, 2, 3)
d = (‘a’, ‘b’, ‘c’)

print(a) #1
print(b) #2
print© #3
print(d) (‘a’, ‘b’, ‘c’)

2.访问

d = (‘a’, ‘b’, ‘c’)

d[1] #‘a’
d[1:3] #(‘b’, ‘c’)
3.操作符

a = (1, 2, 3)
d = (‘a’, ‘b’, ‘c’)

a + d #(1, 2, 3, ‘a’, ‘b’, ‘c’)
d * 2 #(‘a’, ‘b’, ‘c’, ‘a’, ‘b’, ‘c’)
4.元组不可以修改、删除元素

三、字典
1.创建

d = {key1 : value1, key2 : value2 }
特殊创建方法:

{x: x**2 for x in (2, 4, 6)} #{2: 4, 4: 16, 6: 36}
2.访问

dic = {‘a’: 1, ‘b’: [1, 2, 3], ‘c’:{1:2}}

dic[‘b’][2] #3
dic[‘a’] #1
dic[‘b’] #[1, 2, 3]
dic[‘c’][1] #2
3.修改

dic = {‘a’: 1, ‘b’: [1, 2, 3]}

dic[‘b’][1] = 0 #{‘a’: 1, ‘b’: [1, 0, 3]}
4.删除

dic = {‘a’: 1, ‘b’: [1, 2, 3]}

#删除元素
del dic[‘a’] #{‘b’: [1, 2, 3]}

#删除字典
del dic
5.函数方法

dic = {‘a’: 1, ‘b’: 2, ‘c’:3}

len(dic) #3

str(dic) #"{‘a’: 1, ‘b’: 2, ‘c’: 3}"

‘a’ in dic #True

dic.get(‘a’) #1

dic.items() #dict_items([(‘a’, 1), (‘b’, 1), (‘c’, 3)])

dic.keys() #dict_keys([‘a’, ‘b’, ‘c’])

dic.values() #dict_values([1, 1, 3])

dic.update({‘a’:0}) #{‘a’: 0, ‘b’: 2, ‘c’: 3}

dic.pop(‘b’) #{‘a’: 0, ‘c’: 3}
6.字典排序
按key排序:

dic = {‘a’: 2, ‘c’: 3, ‘b’:1}

sorted(dic.items(), key=lambda d: d[0])

#输出:
[(‘a’, 2), (‘b’, 1), (‘c’, 3)]
按value排序:

dic = {‘a’: 2, ‘c’: 3, ‘b’:1}

sorted(dic.items(), key=lambda d: d[1])

#输出:
[(‘b’, 1), (‘a’, 2), (‘c’, 3)]
总结:
列表是一种无序的、可重复的数据序列,可以随时添加、删除其中的元素。

列表使用方括号创建,使用逗号分隔元素

列表元素值可以是任意类型,包括变量

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

元组使用小括号,列表使用方括号

没有 append(),insert() 这样进行修改的方法,其他方法都与列表一样

字典是另一种可变容器模型,可存储任意类型对象

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中

键必须是唯一的,但值则不必,值可以是任意数据类型

如果用字典里没有的键访问数据,会报错

字典的元素没有顺序,不能通过下标引用元素,通过键来引用

字典内部存放的顺序和 key 放入的顺序是没有关系的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值