Amgalang 发表于 2021-6-25 21:16:16

python 字典 value 赋值 小问题

上代码:
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'}
怎么循环呢?谢谢{:10_311:}

suchocolate 发表于 2021-6-25 21:23:06

seq = range(3)
number = ('a', 'b', 'c')
print(dict(zip(seq, number)))

Twilight6 发表于 2021-6-25 22:55:36

也可以用 enumerate 函数

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

第二个参数是开始索引值,开始索引值默认值为 0

item = enumerate(('a','b','c'), 0)
print(dict(item))
输出结果:
{0: 'a', 1: 'b', 2: 'c'}

Amgalang 发表于 2021-6-26 00:01:34

Twilight6 发表于 2021-6-25 22:55
也可以用 enumerate 函数

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


如果不只是 a,b,c三个值呢?我先要的是很多值的自动赋值 谢谢你了

Amgalang 发表于 2021-6-26 00:02:42

suchocolate 发表于 2021-6-25 21:23


TypeError: 'dict' object is not callable是我搞错了吗,出现了这个报错

深谙流年 发表于 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 = number
print(dict)
这个应该可以达到你的要求,

Twilight6 发表于 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))

suchocolate 发表于 2021-6-26 09:40:59

Amgalang 发表于 2021-6-26 00:02
TypeError: 'dict' object is not callable是我搞错了吗,出现了这个报错

dict,str,list这些和函数名称相同的名字尽量不要用作变量名

Amgalang 发表于 2021-6-26 10:41:57

深谙流年 发表于 2021-6-26 00:08
seq = range(5)
number = ('a','b','c','d')
dict = {}


循环是看懂了,不过没能保存,字典还是空集合

Amgalang 发表于 2021-6-26 10:42:34

suchocolate 发表于 2021-6-26 09:40
dict,str,list这些和函数名称相同的名字尽量不要用作变量名

懂了,好的

Amgalang 发表于 2021-6-26 10:46:30

Twilight6 发表于 2021-6-26 07:19
你把 dict 给赋值了,导致调用 dict 函数报错,你要删掉 dict

多值也行这样:

实现了我想要的,不过 这些数值 进哪一个词典里了?找不见已经创建的词典

Twilight6 发表于 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)


Amgalang 发表于 2021-6-26 20:35:21

Twilight6 发表于 2021-6-26 10:56
我没进行赋值,只进行了打印,你只需要讲 print 里的内容赋值给你的变量即可

参考代码:


哈哈哈 懂了,谢谢
页: [1]
查看完整版本: python 字典 value 赋值 小问题