内部打印()

时间:2016-01-09 11:38:11

标签: python printing

我有一个包含9个项目的字典,它叫做用户。现在可以做到这一点,这是完全有用的:

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

在一行代码中使用类似

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

这会产生语法错误。那么可以这样做,或者我需要使用lambda函数或其他东西吗?感谢

3 个答案:

答案 0 :(得分:2)

在我谈到这一点之前的两点说明:

首先,

[x for x in whatever] 

完全是多余的,

whatever

会产生相同的指数。

在你的情况下,它将等同于

print users[range(0,9)]

相同
print users[range(9)]

不起作用,因为users不支持使用list进行索引。

其次,

如果你的键是连续的整数并从0开始,你不应该使用字典。这是一个列表。

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

print users.items()

print users.keys()

甚至

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

如果您希望您的代码看起来更像是用函数式语言编写的。哪个Python不是。它有功能方面。在功能性问题中使用它并不总是最容易阅读。我会坚持你的原始代码。

答案 1 :(得分:0)

您需要将for k in users: print (k) 置于循环内,就像这样

dict

或者如果您想要更灵活,可以使用keys的方法,例如valuesfor k in users: print (k : x[k]) ,您可以这样做以获得更多的可读输出:

{{1}}

答案 2 :(得分:0)

好吧,你可以写:

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