首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中,如何根据用户输入的数字创建列表?

在Python中,如何根据用户输入的数字创建列表?
EN

Stack Overflow用户
提问于 2016-04-18 21:12:24
回答 3查看 131关注 0票数 0

我想在Python中创建一个基于用户输入的经典纸牌游戏。我想问他们> players = int(input('How many players are playing? 2-4 '))

看他们是否说2.

代码语言:javascript
运行
复制
players = [[], []] will be created

但如果他们说是3

代码语言:javascript
运行
复制
then players = [[], [], []] would be created

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

EN

回答 3

Stack Overflow用户

发布于 2016-04-18 21:16:30

你可以这样做,

代码语言:javascript
运行
复制
n = input("number: ")    # n = 2 say
out = [list() for i in range(n)] # [[], []]

看看它对你是否有效。

票数 1
EN

Stack Overflow用户

发布于 2016-04-18 21:19:05

您可以使用列表理解:

代码语言:javascript
运行
复制
players = [[] for i in range(int(input('How many players are playing? 2-4 ')))]

输出:

代码语言:javascript
运行
复制
>>> players = [[] for i in range(int(input('How many players are playing? 2-4 ')))]
How many players are playing? 2-4 3
>>> players
[[], [], []]

或者您可以使用*运算符:

代码语言:javascript
运行
复制
players = [[]] * int(input('How many players are playing? 2-4 '))

但是,在使用第二个方法时更改列表中的元素将导致每个子列表也发生更改。所以对你来说,列表理解方法会更好。

例如:

代码语言:javascript
运行
复制
>>> players = [[]] * int(input('How many players are playing? 2-4 '))
How many players are playing? 2-4 3
>>> players
[[], [], []]
>>> players[1].append("hello")
>>> players
[['hello'], ['hello'], ['hello']]
票数 1
EN

Stack Overflow用户

发布于 2016-04-18 21:17:43

只需说:

代码语言:javascript
运行
复制
vectorPlayers = []

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

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


print(vectorPlayers)

这将创建一个向量,每个位置都有一个空向量

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36695017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档