Python -使用单行代码创建带值的嵌套列表[replicate]

kulphzqa  于 2022-12-25  发布在  Python
关注(0)|答案(3)|浏览(121)
    • 此问题在此处已有答案**:

How to create nested lists in python?(5个答案)
昨天关门了。
我想在一行中创建嵌套列表。列表将为:

a = [["-","-",..."-"],["-","-",..."-"],...["-","-",..."-"]]

每个内部列表应该有10个"-",嵌套列表应该有10个列表。
我已经尝试了,但它不工作,因为我想要的:

a = ["-","-","-","-","-","-","-","-","-","-"]*10

print(a)

输出为:

['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-']
7lrncoxx

7lrncoxx1#

下面的代码应按预期生成嵌套列表:

代码:

a = [["-"]*10]*10
print(a)

输出:

[['-', '-', '-', '-', '-', '-', '-', '-', '-', '-'], ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-'], ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-'], ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-'], ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-'], ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-'], ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-'], ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-'], ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-'], ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-']]
cld4siwp

cld4siwp2#

#Not in refrenced form
a = [['-' for col in range(10)] for row in range(10)] 
print(a)

#If you wanted in refrenced form
a=[['-']*10]*10
print(a)

未引用..的示例

a = [['-' for col in range(10)] for row in range(10)] 
a[0][0]='change'
print(a)
    • 输出:-**

[["变更"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]]
引用的示例..

a=[['-']*10]*10
a[0][0]='change'
print(a)
    • 输出:-**

[["更改"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["更改"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["更改"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"],["更改","-","-","-","-","-","-","-"],["更改","-","-","-","-","-","-","-"],["更改","-","-","-","-","-","-","-","-"、"-"、"-"]、["更改"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["更改"、"-"、"-"、"-"、"-"、"-"、"-"]、["更改"、"-"、"-"、"-"、"-"、"-"]、["更改"、"-"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]、["更改"、"-"、"-"、"-"、"-"、"-"、"-"、"-"]]

vojdkbi0

vojdkbi03#

您可以使用Python itertools.repeat()

from itertools import repeat
list(repeat(["-"]*10, 10))

相关问题