Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在将字典强制转换为列表后使用for循环?_Python - Fatal编程技术网

Python 如何在将字典强制转换为列表后使用for循环?

Python 如何在将字典强制转换为列表后使用for循环?,python,Python,我在列表中键入一个字典,然后使用for循环打印该列表中的所有元素。但是,这个列表似乎只包含字典的关键元素。如何使列表也包含关键元素的值 我尝试过直接对字典进行类型转换,然后使用for循环 d1 = {"a":"s", "b":"t", "c":"u", "d":"v"} d = list(d1) for i, s in d: print(i, s) 这是我得到的错误: 文件“C:/Users/Blank/PycharmProjects/proj1/Main.py”,第39行,在 对于d

我在列表中键入一个字典,然后使用for循环打印该列表中的所有元素。但是,这个列表似乎只包含字典的关键元素。如何使列表也包含关键元素的值

我尝试过直接对字典进行类型转换,然后使用for循环

d1 = {"a":"s", "b":"t", "c":"u", "d":"v"}
d = list(d1)
for i, s in d:
    print(i, s)
这是我得到的错误:

文件“C:/Users/Blank/PycharmProjects/proj1/Main.py”,第39行,在 对于d中的i,s:ValueError:没有足够的值来解包(预期为2,得到1)


list()
不是类型转换。它是一个对象构造函数(用于列表),以一个iterable作为参数。它只包含dict的键,因为在Python中迭代dict就是这样做的。如果要在dict中的(键、值)对上迭代,请使用其
.items()
方法。您还可以将这些内容保存到列表中,例如
list(d1.items())

list()
不是类型转换。它是一个对象构造函数(用于列表),以一个iterable作为参数。它只包含dict的键,因为在Python中迭代dict就是这样做的。如果要在dict中的(键、值)对上迭代,请使用其
.items()
方法。您还可以将它们保存到列表中,如
list(d1.items())

错误消息是正确的,当您将字典转换为列表时,python将键保留在列表中并删除值。试着打印“d”看看我的意思

>>> d1 = {"a":"s", "b":"t", "c":"u", "d":"v"}
>>> d = list(d1)
>>> print(d)
['a', 'c', 'b', 'd']
所以当你在上面循环时,你只得到一个值,而不是两个。您必须将for循环更改为此

for i in d:
    print(i)

错误消息是正确的,当您将字典转换为列表时,python将键保留在列表中,并删除了值。试着打印“d”看看我的意思

>>> d1 = {"a":"s", "b":"t", "c":"u", "d":"v"}
>>> d = list(d1)
>>> print(d)
['a', 'c', 'b', 'd']
所以当你在上面循环时,你只得到一个值,而不是两个。您必须将for循环更改为此

for i in d:
    print(i)

不需要列表,您可以迭代字典

dict.items()将为您提供所需的内容

返回字典项((键、值)对的新视图。请参见视图对象的文档


不需要列表,您可以迭代字典

dict.items()将为您提供所需的内容

返回字典项((键、值)对的新视图。请参见视图对象的文档

1) 。当您将
d1
字典转换为
d
列表时,则在列表
d
中,您只获得字典
d1
的键

d1 = {"a":"s", "b":"t", "c":"u", "d":"v"}
d = list(d1)
print(d)
输出-->
['a','c','b','d']

2) 。您可以使用
d1.items()
方法来获得所需的结果。我已修改了您的代码,以获取字典的键和值
d1

d1 = {"a":"s", "b":"t", "c":"u", "d":"v"}
for key,value in d1.items():
    print(key, value)
1) 。当您将
d1
字典转换为
d
列表时,则在列表
d
中,您只获得字典
d1
的键

d1 = {"a":"s", "b":"t", "c":"u", "d":"v"}
d = list(d1)
print(d)
输出-->
['a','c','b','d']

2) 。您可以使用
d1.items()
方法来获得所需的结果。我已修改了您的代码,以获取字典的键和值
d1

d1 = {"a":"s", "b":"t", "c":"u", "d":"v"}
for key,value in d1.items():
    print(key, value)
重写代码:-

d1 = {"a":"s", "b":"t", "c":"u", "d":"v"}
d = d1.items()
for i, s in d:
    print(i, s)
输出

a s
b t
c u
d v
重写代码:-

d1 = {"a":"s", "b":"t", "c":"u", "d":"v"}
d = d1.items()
for i, s in d:
    print(i, s)
输出

a s
b t
c u
d v