鱼C论坛

 找回密码
 立即注册
查看: 2090|回复: 12

[已解决]python 字典 value 赋值 小问题

[复制链接]
发表于 2021-6-25 21:16:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
上代码:
seq = range(3)
number = ('a','b','c')
dict = {}
dict1 = dict.fromkeys(seq,'number')

输出的结果是:{0: 'number', 1: 'number', 2: 'number'}
希望的结果是:{0: 'a', 1: 'b', 2: 'c'}
怎么循环呢?谢谢
最佳答案
2021-6-26 07:19:53
Amgalang 发表于 2021-6-26 00:02
TypeError: 'dict' object is not callable是我搞错了吗,出现了这个报错



你把 dict 给赋值了,导致调用 dict 函数报错,你要删掉 dict
del dict
多值也行这样:
values = ('a', 'b', 'c', 'd', 'e', 'f', 'g')
item = enumerate(values, 0)
print(dict(item))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-25 21:23:06 | 显示全部楼层
seq = range(3)
number = ('a', 'b', 'c')
print(dict(zip(seq, number)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-25 22:55:36 | 显示全部楼层
也可以用 enumerate 函数

该函数第一个参数是可迭代对象

第二个参数是开始索引值,开始索引值默认值为 0
item = enumerate(('a','b','c'), 0)
print(dict(item))
输出结果:
{0: 'a', 1: 'b', 2: 'c'}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-26 00:01:34 | 显示全部楼层
Twilight6 发表于 2021-6-25 22:55
也可以用 enumerate 函数

该函数第一个参数是可迭代对象

如果不只是 a,b,c三个值呢?我先要的是很多值的自动赋值 谢谢你了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-26 00:02:42 | 显示全部楼层

TypeError: 'dict' object is not callable是我搞错了吗,出现了这个报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-26 00:08:27 | 显示全部楼层
seq = range(5)
number = ('a','b','c','d')
dict = {}

for i in seq:
    if len(seq) < len(number):
        dict[i] = number[i]
print(dict)
这个应该可以达到你的要求,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-26 07:19:53 | 显示全部楼层    本楼为最佳答案   
Amgalang 发表于 2021-6-26 00:02
TypeError: 'dict' object is not callable是我搞错了吗,出现了这个报错



你把 dict 给赋值了,导致调用 dict 函数报错,你要删掉 dict
del dict
多值也行这样:
values = ('a', 'b', 'c', 'd', 'e', 'f', 'g')
item = enumerate(values, 0)
print(dict(item))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-26 09:40:59 | 显示全部楼层
Amgalang 发表于 2021-6-26 00:02
TypeError: 'dict' object is not callable是我搞错了吗,出现了这个报错

dict,str,list这些和函数名称相同的名字尽量不要用作变量名
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-26 10:41:57 | 显示全部楼层
深谙流年 发表于 2021-6-26 00:08
seq = range(5)
number = ('a','b','c','d')
dict = {}

循环是看懂了,不过没能保存,字典还是空集合
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-26 10:42:34 | 显示全部楼层
suchocolate 发表于 2021-6-26 09:40
dict,str,list这些和函数名称相同的名字尽量不要用作变量名

懂了,好的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-26 10:46:30 | 显示全部楼层
Twilight6 发表于 2021-6-26 07:19
你把 dict 给赋值了,导致调用 dict 函数报错,你要删掉 dict

多值也行这样:

实现了我想要的,不过 这些数值 进哪一个词典里了?找不见已经创建的词典
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-26 10:56:36 | 显示全部楼层
Amgalang 发表于 2021-6-26 10:46
实现了我想要的,不过 这些数值 进哪一个词典里了?找不见已经创建的词典



我没进行赋值,只进行了打印,你只需要讲 print 里的内容赋值给你的变量即可

参考代码:
values = ('a', 'b', 'c', 'd', 'e', 'f', 'g')
item = enumerate(values, 0)
temp = dict(item)
print(temp)


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-26 20:35:21 | 显示全部楼层
Twilight6 发表于 2021-6-26 10:56
我没进行赋值,只进行了打印,你只需要讲 print 里的内容赋值给你的变量即可

参考代码:

哈哈哈 懂了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 06:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表