Python 循环内部打印()
我有一本包含9项的字典,叫做用户。现在是否有可能做到这一点,这是完全可行的: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方法,如键或值
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()]