python入门之元组与字典答案_Python学习之路——Python基础之基本数据类型(列表、元组和字典)...

基本数据类型

数字

字符串

列表 list

元组 tuple

字典 dict

布尔值 bool

列表和元组

列表:有序,元素可以被修改

元组:

书写格式:元组的一级元素不可被修改,不能被增加或者删除,一般写元租的时候,推荐在最后加入','

索引:v = tu[0]

切片:v = tu[0:2]

可以被for循环,可迭代对象: for item in tu

转换:str <--> list <--> tuple

Tips:元组中嵌套的列表的元素可以被修改

字典

dict:

info = {

1:'asdf',

"k1":'wqwr',

True:"123",

(11,22):123

"kk3":(11.22)

}

列表不能作为字典的Key,元组可以

列表、字典不能作为字典的Key(True代表1,False代表0,注意重复)

字典是无序的

字典支持del删除

可for循环不可while循环

字典功能

.fromkeys 根据序列,创建字典,并指定统一的值

dict.fromkeys(["k1",123,"999"],123)

.get 取字典的值,当key不存在时不会导致报错,.get会返回None或者指定的值

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

.setdefault 设置值,若已存在,不设置,获取当前key对应的值;不存在,设置值,获取当前key对应的值

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

.update 更新字典中的值

练习

字典的查找:

#!/usr/bin/env python

# -*- coding=utf-8 -*-

dic = {

u"植物":

{u"草本植物":

[u"荷花", u"叶子", u"小草", u"菊花", u"兰花", u"茉莉", u"葫芦"],

u"木本植物":

[u"腊梅",u"梅花",u"玉兰花",u"迎春花",u"榆叶梅",u"杨树",u"苹果"],

u"水生植物":

[u"荷花",u"芦苇",u"香蒲",u"菰",u"水葱",u"芦竹",u"菖蒲",u"蒲苇"]

},

u"动物":

{u"家禽":

[u"小猫",u"小狗",u"小猪",u"蛇",u"小鸟",u"鱼",u"老虎",u"狮子"],

u"两栖动物":

[u"雨蛙",u"树蛙",u"蟾蜍",u"大鲵",u"蝾螈",u"蚓螈",u"吻蚓",u"鱼螈"],

u"哺乳类动物":

[u"貘树懒",u"斑马",u"狼",u"虎",u"老鼠",u"麋鹿",u"猴子",u"猞猁",u"穿山甲"]

}

}

li = []

bi = []

go = True

while go:

for i,v in enumerate(dic,1):

print i,v

li.append(v)

scan_1 = input(">>>")

while go:

for i,v in enumerate(dic[li[scan_1 - 1]],1):

print i,v

bi.append(v)

scan_2 = raw_input(">>>")

if scan_2 == "b":

break

elif scan_2 == "q":

go = False

break

elif scan_2 == "1" or scan_2 == "2" or scan_2 == "3":

while go:

for i, v in enumerate(dic[li[scan_1 - 1]][bi[int(scan_2) - 1]], 1):

print i, v

scan_3 = raw_input(">>>>>")

scan_3 = str(scan_3)

scan_3 = scan_3.lower()

if scan_3 == "b":

break

elif scan_3 == "q":

go = False

break

else:

print(u"输入有误,请重新输入")

else:

print(u"输入有误,请重新输入")

#!/usr/bin/env python

# -*- coding=utf-8 -*-

db = {

"广州":{},

"北京":{

"昌平":{

"沙河":{},

"回龙观":{}

},

"朝阳":{},

"海淀":{}

},

"上海":{}

}

path = []

while True:

temp = db

for item in path:

temp = temp[item]

print("当前可选的所有子节点:",list(temp.keys()))

choice = input('1: 添加节点; 2: 查看节点(Q/B);\n >>>')

if choice == '1':

name = input("请输入要添加的节点名称:")

temp[name] = {}

elif choice == '2':

name = input("请输入要查看的节点名称:")

path.append(name)

elif choice.lower() == 'b':

path.pop()

elif choice.lower() == 'q':

break

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值