在多行中初始化 Python 中的复杂嵌套列表?
Initialize complex nested lists in Python in many lines?
Python 需要缩进。那么,如何内联初始化复杂的嵌套对象?
我应该把它们写成一行吗
rewards = [[-0.04, -0.04, -0.04, -0.04], [-0.04, 0, -0.04, -0.04], [-0.04, -0.04, -0.04,-0.04]]
或者我可以用某种方式包装它们吗?
更新
我的问题不是关于打断长行,这在文档中有明确规定,而是关于在定义复杂的嵌套结构时打断长行,例如列表字典列表的列表。我无法相信我们应该在这里使用行连续语法。
更新 1
不,它不是重复的。
一种方法是使用:
rewards = [
[-0.04, -0.04, -0.04, -0.04],
[-0.04, 0, -0.04, -0.04],
[-0.04, -0.04, -0.04,-0.04]
]
请注意,列表中用于分隔元素的任何空格都是多余的,因为词法分析器会将其删除;所以这只是一个根据个人口味的可读性问题。
您可以将它写在一行中,但是,当您使用长嵌套列表时,您很容易达到 80 个字符的限制,而且我个人认为这种表示形式 reader 不友好。
您可以在 Python 中的任何行后面加上一个反斜杠:
rewards = [[-0.04, -0.04, -0.04, -0.04], \
[-0.04, 0, -0.04, -0.04], [-0.04, -0.04, -0.04,-0.04]]
这里仍然真的不需要它,因为它在之前的回答中已经提到
括号内,包括 [
、{
和 (
,您可以使用任何格式。
Python 需要缩进。那么,如何内联初始化复杂的嵌套对象?
我应该把它们写成一行吗
rewards = [[-0.04, -0.04, -0.04, -0.04], [-0.04, 0, -0.04, -0.04], [-0.04, -0.04, -0.04,-0.04]]
或者我可以用某种方式包装它们吗?
更新
我的问题不是关于打断长行,这在文档中有明确规定,而是关于在定义复杂的嵌套结构时打断长行,例如列表字典列表的列表。我无法相信我们应该在这里使用行连续语法。
更新 1
不,它不是重复的。
一种方法是使用:
rewards = [
[-0.04, -0.04, -0.04, -0.04],
[-0.04, 0, -0.04, -0.04],
[-0.04, -0.04, -0.04,-0.04]
]
请注意,列表中用于分隔元素的任何空格都是多余的,因为词法分析器会将其删除;所以这只是一个根据个人口味的可读性问题。
您可以将它写在一行中,但是,当您使用长嵌套列表时,您很容易达到 80 个字符的限制,而且我个人认为这种表示形式 reader 不友好。
您可以在 Python 中的任何行后面加上一个反斜杠:
rewards = [[-0.04, -0.04, -0.04, -0.04], \
[-0.04, 0, -0.04, -0.04], [-0.04, -0.04, -0.04,-0.04]]
这里仍然真的不需要它,因为它在之前的回答中已经提到
括号内,包括 [
、{
和 (
,您可以使用任何格式。