在Python中,如何基于用户输入的数字创建列表?

在Python中,如何基于用户输入的数字创建列表?,python,list,Python,List,我想基于用户输入用Python创建一个经典的纸牌游戏。我想问他们>players=int(输入(“有多少玩家在玩?2-4”) 如果他们说2 players = [[], []] will be created 但是如果他们说3 then players = [[], [], []] would be created 等 到目前为止,我所能做的就是玩家[…]、[…]、[…]、[…]、[…]这意味着必须有4名玩家一直玩这个游戏???你可以这样做 n = input("number: ")

我想基于用户输入用Python创建一个经典的纸牌游戏。我想问他们>
players=int(输入(“有多少玩家在玩?2-4”)

如果他们说2

players = [[], []] will be created
但是如果他们说3

then players = [[], [], []] would be created

到目前为止,我所能做的就是玩家[…]、[…]、[…]、[…]、[…]这意味着必须有4名玩家一直玩这个游戏???

你可以这样做

n = input("number: ")    # n = 2 say
out = [list() for i in range(n)] # [[], []]
看看它是否适合你。

你可以这样做

n = input("number: ")    # n = 2 say
out = [list() for i in range(n)] # [[], []]

看看它是否适合你。

你可以这样做

players = [ [] for x in range(int(input('How many players are playing? 2-4 ')))]
players=int(输入(“有多少玩家在玩?2-4”)

players=[[]]*玩家

你可以这样做

players = [ [] for x in range(int(input('How many players are playing? 2-4 ')))]
players=int(输入(“有多少玩家在玩?2-4”)

players=[[]]*玩家
只要说:

vectorPlayers = []

players = int(input("'How many players are playing? 2-4 '"))

for x in range(players):
    vectorPlayers.append([])


print(vectorPlayers)
这将创建一个每个位置都有一个空向量的向量

只需说:

vectorPlayers = []

players = int(input("'How many players are playing? 2-4 '"))

for x in range(players):
    vectorPlayers.append([])


print(vectorPlayers)

这将在每个位置创建一个空向量的向量

您可以使用列表理解:

players = [[] for i in range(int(input('How many players are playing? 2-4 ')))]
输出:

>>> players = [[] for i in range(int(input('How many players are playing? 2-4 ')))]
How many players are playing? 2-4 3
>>> players
[[], [], []]
或者您可以使用
*
运算符:

players = [[]] * int(input('How many players are playing? 2-4 '))
但是,在使用第二种方法时更改列表中的元素会导致每个子列表也发生更改。所以对你来说,列表理解法会更好

例如:


您可以使用列表理解:

players = [[] for i in range(int(input('How many players are playing? 2-4 ')))]
输出:

>>> players = [[] for i in range(int(input('How many players are playing? 2-4 ')))]
How many players are playing? 2-4 3
>>> players
[[], [], []]
或者您可以使用
*
运算符:

players = [[]] * int(input('How many players are playing? 2-4 '))
但是,在使用第二种方法时更改列表中的元素会导致每个子列表也发生更改。所以对你来说,列表理解法会更好

例如:


好的,现在尝试在第一个子列表中添加一些内容。您可以执行
players[0]。添加(“hello”)
,然后打印整个列表。你会感到惊讶:)此外,我认为对用户输入(一个数字)和容器(一个列表)重用名称
players
不是一个好主意。尝试使用有意义的名称,尤其是在动态语言中。现在,尝试在第一个子列表中添加一些内容。您可以执行
players[0]。添加(“hello”)
,然后打印整个列表。你会感到惊讶:)此外,我认为对用户输入(一个数字)和容器(一个列表)重用名称
players
不是一个好主意。尝试使用有意义的名称,尤其是在动态语言中。