在python中使用int-list时遇到问题

在python中使用int-list时遇到问题,python,Python,我试图在python中查找所有三位armstrong数字。 我的剧本是 import re a=[x for x in range(100, 1000)] m = [int(e) for e in re.search((a),",")] print(m) z=((m[0]^len(m))+(m[1]^len(m))+(m[2]^len(m)))==m print(z) 当我尝试运行此代码时,它返回 Traceback (most recent call last): File "ppc1-

我试图在python中查找所有三位armstrong数字。
我的剧本是

import re
a=[x for x in range(100, 1000)]
m = [int(e) for e in re.search((a),",")]
print(m)
z=((m[0]^len(m))+(m[1]^len(m))+(m[2]^len(m)))==m
print(z)
当我尝试运行此代码时,它返回

Traceback (most recent call last):
  File "ppc1-1 (2).py", line 3, in <module>
    m = [int(e) for e in re.search((a),",")]
  File "/usr/lib/python3.6/re.py", line 182, in search
    return _compile(pattern, flags).search(string)
  File "/usr/lib/python3.6/re.py", line 289, in _compile
    p, loc = _cache[type(pattern), pattern, flags]
TypeError: unhashable type: 'list'
回溯(最近一次呼叫最后一次):
文件“ppc1-1(2).py”,第3行,在
m=[int(e)表示搜索中的e((a),“,”)]
文件“/usr/lib/python3.6/re.py”,第182行,搜索中
返回编译(模式、标志)。搜索(字符串)
文件“/usr/lib/python3.6/re.py”,第289行,在编译中
p、 loc=_缓存[类型(模式)、模式、标志]
TypeError:不可损坏的类型:“列表”

我的目标是找到所有三位数的阿姆斯特朗号码。

您可以通过以下方式找到阿姆斯特朗号码

查看您的代码

1) “^”在python中并不表示指数“**”运算符是指数

2) 您希望如何在不使用循环的情况下迭代所有三位数

a=[x for x in range(100, 1000)]

for i in a:
    m=list(map(int, str(i)))
    length=len(m)

    z=((m[0]**length)+(m[1]**length)+(m[2]**length))
    if z==i:
        print("The armstong number is",i)

这是我对你的问题的回答:

  a = [x for x in range(100, 1000)]
  for i in range(0, len(a)):
    digits = [int(x) for x in str(a[i])]
    if (digits[0]**3 + digits[1]**3 + digits[2]**3) == a[i]:
        print a[i]

我希望它能有所帮助。

这只适用于在python中查找三位数的Armstrong数字

import re length = 3 arm = [e for e in range(100, 1000) if e == ((e/100)%10)**length + ((e/10)%10)**length + (e%10)**length] print arm 进口稀土 长度=3 如果e==((e/100)%10)**长度+((e/10)%10)**长度+(e/10)%10)**长度+(e%10)**长度,则范围(1001000)内的e为e 打印臂
你想用这条线干什么<代码>m=[int(e)代表搜索中的e((a),“,”)]我试图从列表中获取一个数字。>>>a=[x代表范围(1001000)中的x]>>>len(a)900>>>代表a中的i:。。。如果整数(i/100)**3+int(i%100/10)**3+int(i%10)**3==i:。。。打印(i)len(a)900是什么意思?@Mendjargal查看我的最新答案