Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.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 循环内部打印()_Python_Printing - Fatal编程技术网

Python 循环内部打印()

Python 循环内部打印(),python,printing,Python,Printing,我有一本包含9项的字典,叫做用户。现在是否有可能做到这一点,这是完全可行的: for x in range (0, 9): print users[x] 在一行代码中 print users[x for x in range (0, 9)] 这就产生了语法错误。那么有没有可能这样做,或者我需要使用lambda函数或其他什么?谢谢您需要将打印放入循环中,如下所示 for k in users: print (k) 或者,如果您想要更大的灵活性,您可以使用dict方法,如键或值

我有一本包含9项的字典,叫做用户。现在是否有可能做到这一点,这是完全可行的:

for x in range (0, 9):
    print users[x]
在一行代码中

print users[x for x in range (0, 9)]

这就产生了语法错误。那么有没有可能这样做,或者我需要使用lambda函数或其他什么?谢谢

您需要将
打印
放入循环中,如下所示

for k in users:
    print (k)
或者,如果您想要更大的灵活性,您可以使用
dict
方法,如
,您可以这样做以获得更可读的输出:

for k in users:
    print (k : x[k])

在我谈到这一点之前,有两点需要注意:

首先,

[x for x in whatever] 
完全是多余的,

whatever
将产生相同的指数

在你的情况下,这相当于

print users[range(0,9)]
这和

print users[range(9)]
这将不起作用,因为
用户
不支持使用
列表
进行索引

第二,

如果键是连续且从0开始的整数,则不应使用字典。那是一张单子


你能做的只是使用字典的不同方法,例如

print users.items()

甚至

print "\n".join("key %s has value %s" % item for item in users.items())

如果希望代码看起来更像是用函数式语言编写的。而Python不是。它具有功能方面。当用于功能性事务时,它并不总是最容易阅读的。我会坚持使用您的原始代码。

好吧,您可以编写:

print [users[k] for k in users.keys()]

好吧,好像我没有给你所有的细节,用户字典由“id”和“name”组成。我要做的是打印每个用户的name属性,所以类似这样的内容:print(范围(0,9)中k的用户[k][“name”]会给出错误
print [users[k] for k in users.keys()]