列表和字典
一、列表
# 基本数据类型(不可变数据类型)
a = 1
b = 3.14
c = "yuan"
d = True 判断
# 列表和字典(可变数据类型)
# name1 = "张三"
# name2 = "李四"
# name3 = "王五"
列表的核心能对各个数据类型,进行管理。
# names = "张三 李四 王五"
# names.split(" ") # ["张三"," 李四", "王五"]
# names = ["张三","李四","王五","","","",""]
names = ["张三","","","","","李四","王五"]
age = [18,19,20]
l = [1,True,"hello"] # 列表可以储存多个元素
# 列表是容器类型;是容器都会有增删改查
列表和字符串都同属序列类型下,例如:
name = "asdfghhh"
name=["a","b","c"]
变量name都有更小的元素
# 列表的基本操作(序列操作)
# 一:支持索引
print(names[1])
print(names[2])
print(names[-1])
# 二、切片操作
print(names[1:3]) # ["李四","王五"]
print(names[-2:-1]) # ["李四"]
print(names[-2:]) # ["李四","王五"]
# 三、in操作
print("yuan" in "hello yuan") # True
print("张三" in names) # True
print("张" in names) # False
# 四、+
l1 = [1,2,3]
l2 = [4,5,6]
print(l1+l2) # [1,2,3,4,5,6]
print(l1)
print(type(l1)) # <class 'list'>
print(type(l2)) # <class 'list'>
列表的内置方法
# -------------- 列表的内置方法
# 列表的内置方法帮助我们对该列表对象的数据元素进行管理(增删改查)
l = [1,2,3,4]
print(type(l)) # <class 'list'>
# <1>添加元素 append insert extend
# l.append(5)
# l.append([6,7])
# print(l) # [1,2,3,4,[6,7]]
# print(len(l))
# l.insert(1,100)
# print(l)
l2 = [5,6,7] # 扩展添加元素,看是否对原列表进行修改。
l.extend(l2) # [1,2,3,4,5,6,7]
# <2>删除元素
# 是小写的L,不是1
l = [100,200,300,400]
# l.remove(300)
# print(l) # [300,200,400]
# l.pop(l)
print(l)
l.clear(l) # [] 是清空删除
# <3>更改元素
l = [100,200,300,400]
l[0] = 1
print(l)
# <4>查看元素
l = [34,56,1,23,23,100]
l.reverse()# 翻转
print(l)
# l.sort(reverse=True) # 排序 从大到小
# print(l)
# print(l.count(23)) # 2 计数
# print(l.index(56)) # 查看索引值
names = ["张三","李四","王五"]
ages = [18,19,20]
print(ages[name.index("李四")])
stu = [["张三",19],["李四",20],["王五",21]]
print(stu[1][1])
stu = ["yuan", 18]
print(stu[0])
print(stu[1])
stu = {"name":"yuan","age":18}
print(type(stu)) # <class 'dict'>
print(stu["name"])
print(stu["age"])
列表嵌套列表是对索引的取值管理,这样不利于管理,引入了字典
二、字典
字典是python提供的唯一内建的映射(Mapping Type)数据类型
2.1声明字典
python使用{}创建字典,由于字典每一个元素都包含键(key)、和值(value)两部分,因此在创建字典时,键合值之间使用帽好:分隔,相邻元素之间使用逗号,分隔,所以元素放在大括号()中。
使用{} 创建字典的语法格式如下:
dictname = {'key':'value1', 'key2':'value2', 'key3':''value3}
1.同一字典中的各个键必须唯一,不能重复。
2.字典是键值对是无序的,但在3.6版本后,字典默认做成有序的了,这是新的版本特征。
2.2字典的基本操作
# 字典的基本操作(面向增删改查)
stu = {}
stu = ["name"] = "yuan"
stu = ["age"] = 18
stu = ["age"] = 22
# del stu # 删除变量名
# det stu["age"] # 根据键,删除键值对
print(stu)
print("name" in stu)
# 字典的内置方法(面向增删改查)
stu = {"name":"yuan","age":32,"gender":"male"}
# print(stu.fromkeys(["name","age","gender"]))
# 查看
print(stu["name"])
print(stu.get("names",None)) # get查看值的时候如果,没有None,会报错
print(stu.keys())
print(stu.values())
print(stu.items()) # 遍历 dict_items([('name','yuan'),('age')])dict_items([('name', 'yuan'), ('age', 32), ('gender', 'male')])
# 删除随机的值,在原有的字典中,现在都是删除最后一个
# stu.popitem()
# print(stu)
stu.pop("age")
print(stu)
# .update是用法是更新,,。扩展添加的意思。
stu.update({"height":"182cm","weight":"90kg"})
# 补充
# x = [1,2]
x,y = [1,2]
print(x,y)
x,y,z = [1,2,3]
print(x,y,z)
x,y,*z = [1,2,3,4,5]
print(x,y,z)
# 列表遍历
names = ["张三","李四","王五"]
# print(names[0])
# print(names[1])
# print(names[2])
for item in names:
print(item.upper())
nums = [11,22,44,55,565,484,155]
s =0
for item in numyuans:
s = s + item
print(s)
# 字典遍历
stu = {"name":"yuan","age":32,"gender":"male"}
for key in stu: # [('name', 'yuan')], [('age', 32)], [('gender', 'male')]
print(key, stu[key])
for i in stu.items(): # [('name', 'yuan')], [('age', 32)], [('gender', 'male')] 把元组理解为只读列表
print(i[0], i[1])
# 推荐
for k,v in stu.items():
print(k,v)

浙公网安备 33010602011771号