python 列表、元组、字典、集合

1.列表list
list是处理⼀组有序项⽬的数据结构,即你可以在⼀个列表中存储⼀个序列的项⽬。列表中的项⽬。列表中的项⽬应该包括在⽅括号中,这样python就知道你是在指明⼀个列表。⼀旦你创建了⼀个列表,你就可以添加,删除,或者是搜索列表中的项⽬。由于你可以增加或删除项⽬,我们说列表是可变的数据类型,即这种类型是可以被改变的,并且列表是可以嵌套的。

2.元组tuple()
元祖和列表⼗分相似,不过元组是不可变的。即你不能修改元组。元组通过圆括号中⽤逗号分隔的项⽬定义。元组通常⽤在使语句或⽤户定义的函数能够安全的采⽤⼀组值的时候,即被使⽤的元组的值不会改变。元组可以嵌套。

3.字典dict()
元素由键(key)和值(value)组成一一对应。字典类似于你通过联系⼈名称查找地址和联系⼈详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在⼀起。注意,键必须是唯⼀的,就像如果有两个⼈恰巧同名的话,你⽆法找到正确的信息。

4.集合set()
特性:与字典类似,但只包含键,⽽没有对应的值,包含的数据不重复。

列表、元组、字典、集合对比

类型

格式描述

格式

列表

可以用list()函数或者方括号[]创建,元素之间以逗号分隔。

[ , ]

list1 = list([1, 2]) #用list()函数创建

list2 = [1, 3, 'hello', 3.5]    #用方括号[]创建

元组

可以用tuple()函数或者圆括号()创建,元素之间用逗号分隔。

( , )

tuple1=()
tuple2=(1,2,3)

字典

可以用dict()函数或者花括号{}创建,元素之间用逗号分隔,键与值之间用冒号隔开

{ : , : }

dict1={'name':'lin','age': 21}
dict2=dict([(‘lin’,’21’),(‘wang’,’19’)])

集合

可以用set()函数或者花括号{}创建,元素之间用逗号分隔。

{    }

Set1={1,2,3,4,5}#用{}创建
Set2=([1,2,3,4,5])#用set()函数创建


列表

现有一软件很火,工作人员需要对后台进行账户密码进行查询。已知的有如下三个账户密码,请写出设计程序,查询是哪三个。

user_list={

    "ray":"12345",

    "Ada":"dfghjk",

    "james":"zxcvb"  

}

cmd = input("请输入用户名:")

if cmd  in user_list.keys():

    password=input("请输入密码")

    if user_list[cmd] == password:

        print("登入成功")

    else:

        print("密码输入错误")

else:

print("用户未注册")

 

 


元组

#元组(tuple):有序且不可变的容器

#元组不能通过任何方法来进行嵌套,修改

#特殊情况:元组套列表

代码: 

tuple1=(1,2,3,4,5,6)

print(tuple1[1])

Ada=("123456","3456",100000,"james","乔治",["alex","qinqin","roy"])

#Ada[3]="jame" #这种情况会报错 'tuple' object does not support item assignment,因为元组不能通过任何方法来进行嵌套,修改

Ada[5].append("lixin") #特殊情况:元组套列表,append()函数 用于在列表末尾添加新的对象,将lixin添加到末尾

print(Ada)  

 

 


字典

例子: 

#字典(dict)键不重复,且元素只能是键(key)值(value)对的可变容器

Ada_information={"name":"ada","nickname":"dada","birth":95,"high":168,"sex":"女"}

#注意:用花括号。“:”前叫key,后加value

print(Ada_information["sex"]) #打印“sex”这个键的值

Ada_information["second_line"]=["alex","ian"] #添加一个Ada_information里没有的键和值

print(Ada_information)#打印Ada_information

print(Ada_information.keys()) #打印Ada_information里的所有键

for i in Ada_information.keys(): #将Ada_information里的所有键(key)进行遍历

    print(i)#打印i

print(Ada_information.values()) #打印Ada_information里的所有value

for i,j in Ada_information.items():  #将Ada_information里的键和值都进行遍历

    print(i,j)#打印i,j

 

 


集合

#set集合

前提:在集合中

  • intersection/ &  (求交集)
  • union/ | (求并集)
  • difference/ - (求差集)
  • symmetric_difference/ ^(交叉补集)

例子:

family_five={"aa","bb","cc","dd","ee"}

happy_day={"cc","ee","ll","pp","ww"}

#找出family_five和happy_day中相同的值(求交集)

print(family_five.intersection(happy_day))

print(family_five & happy_day)

#找出family_five和happy_day中不相同的值(交叉补集)

print(family_five.symmetric_difference(happy_day))

print(family_five ^ happy_day)

#列出family_five和happy_day中所有的值(求并集)

print(family_five.union(happy_day))

print(family_five | happy_day)

#列出family_five有,happy_day中没有的值 (求差集)

print(family_five.difference(happy_day))

print(family_five - happy_day)


补充:循环嵌套 

有一栋楼共5层,每层有5个房间 ,房间号按照101,102,103,......505排序。现如今有一个人要对它进行巡查,2层没人住无需巡查,当他巡查到303号房时,人不舒服,结束巡查。

 jam=1#任意定义一个jam值为1

for floor in range(1,6):

    if floor ==2:

        continue #2层不往下执行了,重新返回前面

    print(f"欢迎来到第{floor}层")#打印楼层号

    for room in range(1,6):

        print(f"{floor}0{room}")#打印房间号

        if floor == 3 and room == 3:#如果房间号为303号

            print("886结束")#在303房间结束了不走了

            jam=11

            break#在303那个房间号结束

    if jam != 1:#如果jam不为1

        break#则结束楼层循环

            

distance=0

height=100

for i in range(10):

   

        distance +=height

        height /= 2

        if i == 9:

            break

        distance += height

print(distance)

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五彩大铁猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值