ljj19971222 发表于 2020-5-25 10:51:05

关于python中字典的运用

我在爬取信息时遇到了几个问题,现比如有几个地点:北京、上海、深圳、广州、广东、等等。他们每个地点里都对应着不同的数值北京:010000、上海020000、深圳030000等等,想问一下我现在想通过输入城市名字得到这些对应的数值该怎么做?比如 我输入 北京 结果就是010000,因为城市太多,不太可能通过if来做,所以想到字典,可是不太会运用。
{北京:010000、上海:020000、......}
name = input()
num = eval(name)
这样子吗

Twilight6 发表于 2020-5-25 10:52:20

本帖最后由 Twilight6 于 2020-5-25 10:54 编辑

假设字典是 data

那么你data 即可了吧?

data = {'北京':'010000','上海':'020000','福建':'1008611'}
name = input('请输入城市名称:')
print(data)

wp231957 发表于 2020-5-25 10:54:15

假设另zd={}
zd["北京"]="010000"

青出于蓝 发表于 2020-5-25 11:12:05

dict1 = {'北京':'000001'}
a=input(''请输入城市:)
b=dict

青出于蓝 发表于 2020-5-25 11:13:17

本帖最后由 青出于蓝 于 2020-5-25 11:16 编辑

列表不全,供参考。
dict1是列表
a是用户输入的城市
b是调用字典,通过键,找到对应的值
最后,可以在用print把b打印出来,(代码里没写)

如果城市过多,还可以利用import pickle 泡菜,大大减少py文件内存

青出于蓝 发表于 2020-5-25 11:25:55

fromkeys添加键、值。[]调用

ljj19971222 发表于 2020-5-25 13:32:37

Twilight6 发表于 2020-5-25 10:52
假设字典是 data

那么你data 即可了吧?

问一下如何想同时搜索两个地方或者多个的数值,输入的时候是北京 上海,他这样能获取到值吗

Twilight6 发表于 2020-5-25 13:33:39

ljj19971222 发表于 2020-5-25 13:32
问一下如何想同时搜索两个地方或者多个的数值,输入的时候是北京 上海,他这样能获取到值吗

那你代码可以把input 输入的内容 通过 split 切割空格 然后再分别 data['北京'] data['上海']

ljj19971222 发表于 2020-5-25 14:12:39

Twilight6 发表于 2020-5-25 13:33
那你代码可以把input 输入的内容 通过 split 切割空格 然后再分别 data['北京'] data['上海']

感谢{:5_102:}

Twilight6 发表于 2020-5-25 14:13:57

ljj19971222 发表于 2020-5-25 14:12
感谢

没事~欢迎有问题继续发帖~

ljj19971222 发表于 2020-5-25 17:36:27

Twilight6 发表于 2020-5-25 14:13
没事~欢迎有问题继续发帖~

哥我还想问一下,如果我判断我输入的这个地区是否在字典里我这样可以吗?
if name in data:
                     执行下一步操作

zwhe 发表于 2020-5-26 15:47:51

{:10_257:}
页: [1]
查看完整版本: 关于python中字典的运用