如何声明多个变量?

2024-06-02 09:12:14 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是字母:

letters='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'

我用这个列了一张单子:

^{pr2}$

所以我有一个字符列表。在

我需要所有variables=0每一个都要声明。我写道:

for i in chars:
  chars[i]=0;

但是有一个错误消息,如下所示:

Traceback (most recent call last):
  File "python", line 15, in <module>
TypeError: list indices must be integers or slices, not str

问题是:如何声明这些多个变量?在


Tags: in声明消息列表for错误字母variables
3条回答

替代list理解的方法是使用map

In [841]: letters='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'

In [842]: chars = list(map(lambda l: 0, letters))

或者你想要一个dict,就像其他答案建议的那样

^{pr2}$

我通常发现list/dict理解更快、更易读(至少对我来说)。这只是一种不同的方法

您可以使用tuplesdict的列表。一个简单的解决方案:

>>> import string
>>> letters = string.ascii_uppercase + string.ascii_lowercase + string.digits
>>> chars = dict.fromkeys(letters , 0)
>>> chars
>>> {...'a': 0, 'b': 0 ....}

要使用元组列表:

^{pr2}$

解决方案

简而言之,您需要的是输入中每个字符的character -> 0的字典(映射)。在

方法如下:

letters='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
chars = {char: 0 for char in letters}

问题

原始代码的问题是,chars是一个list(因为它是作为列表创建的:chars=[]),字符被用作它的索引。在

所以,第一次执行chars[i]=0;(顺便说一句,这里不需要;),而i是{},而{}会产生错误。在

相关问题 更多 >