Python列表、元组、字典


list tuple dict
序列:
列表,序列:可以修改
元组:不能修
字典:key-value对

序列

创建列表和元组

区别:列表用方括号,元组用圆括号
可以存放不同元素

[e1, e2, e3]
(e, e2, e3)

查找元素

方括号:

a[0]
b[-1]#最后一个元素

子序列

[0:2:2]#返回第零个
[0:3:2]#返回第0,2个

加法

列表和列表相加,元组和元组相加
结果是把后面的加在前面的元组的后面,得到一个新元组/列表

乘法

数乘:在原来的序列后面添加新的元素

in运算

1.2 in b_list #返回true或false

长度、最大值、最小值

len(a)
max(a)
min(a)
#

序列封包和序列解包

序列封包:多个变量赋给一个变量,自动封装成元组
序列解包:一个序列赋给多个变量,自动拆装

val = 10, 20, 30
a,b,c = val;

3、使用列表

列表可以改变,认为是增强版的元组

创建列表

list()可以把元组,区间转换成列表
tuple()可以把列表,区间转换成元组

a_tumple = ('abc', 12, 3.3)
a_list = list(a_tumple)
b_list = list(range(1,5);#[1,2,3,4]
c_list = list(range(1,5,2)#[1,3]

增加列表元素

append()用于在列表最后增加:单个元素;元素可以是普通的元素,也可以是列表、元组。
会形成嵌套
enxtend()用于在列表最后添加:单个或多个元素;当添加列表或元组时,以此加在后面
insert()可以在中间插入元素:和append类似,当成整体插入,可能会形成嵌套

c_list = list(range(1,9,2))
print(c_list) #[1, 3, 5, 7]
c_list.insert(3,'abc')
print(c_list) #[1, 3, 5, 'abc', 7]

删除:

del 删除列表的元素,也可以删除变量
remove(ele) 查找并删除第一个ele,找不到会报错
clear() 清空列表

del b_list[0:4:2]#删除第0,2个元素
c_list.clear()
d_list.remove(30)

修改

对元素重新赋值就是修改

a_list = [1,2,3,4,5,6,7]
a_list[1] = '2'
a_list[-1]= '7'
a_list[0:3]= ['no','yes']#对四个元素赋两个值,会缩短列表长度
不能使用单个值赋给slice,如果用字符串赋值给slice,会自动切割成字母的列表
a_list[0:2] = 'abcdefg'

list的其他方法

count():计算某个元素出现的次数
index():判断元素的索引
pop():出栈并返回该元素
append()方法可以当作入栈使用
reverse():反向存储
sort():排序,可以有两个关键字参数
a_list.sort(key = len, reverse=true)#按长短排序,不能包含数字,数字没有长度

字典

创建:

score = {'语文' : 65, '数学' :100}
emptydic = {}
dict2 = {(20,30): 'good', 30:'bad'}

key:可以是元组,不能是列表,同一个字典内key的类型可以不同

  1. 通过dict()方法创建
lista = [('a','b'),(100,93)]
dicta = dict(lista)
  1. dict()方法指定参数,不用引号
dicta = dict(math = 96, English = 99)

通过key访问value,添加、删除、修改键值对,判断键值对是否存在

scores={}#空
scores['语文']=99#增
scores['语文']#访问
scores['语文'] = 98#改
del scores['语文']#删除
'语文' in scores #True # 判断

方法

方法可以通过dir(dict)查到

 'clear','copy',
 'fromkeys',
 'get',直接访问可能找不到报错,get方法找不到返回none
 'pop',获取并删除,返回值
 'popitem',随机pop,返回键值
 k, v = cars.popitem()
 'setdefault',获取key,没有则返回默认值
 cars.setdefalut('math',60)
 'update',添加或修改元素
 adict.update({'math':99, 'English' :88})
 'values'
  'items',
 'keys',这三个方法返回对象
 ims = cars.items()
 listc = list(ims)

格式化字符串:变量多时用字典

cores ={"语文":100, "数学":90}#键好像只能说字符串
temp = "成绩位,语文:%(语文)s, 数学:%(数学)s"
print(temp % scores)
print("成绩位,语文:%s, 数学:%s" % (100,90))
发布了9 篇原创文章 · 获赞 0 · 访问量 77

猜你喜欢

转载自blog.csdn.net/longzu233/article/details/103753662