列表和字典

一、列表

# 基本数据类型(不可变数据类型)

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)

 

posted @ 2023-05-14 09:50  卡卡罗安  阅读(37)  评论(0)    收藏  举报