Python:使用 range() 和 "".join()

标签 python string join integer range

x = WAIT100MS
subroutines = ["WAIT"+str(range(1,256))+"MS"]
if x in subroutines:
    print "success"
else:
    print "invalid"

我正在尝试创建一段代码,如果 WAITXMS 介于 1255 之间,它将被接受,否则将不会。 range() 函数只生成一个列表,所以我想我可以使用

"".join("WAIT"+str(range(1,256))+"MS"),

x 之类的字符串结尾。 但是,将 join() 函数与 range() 一起使用似乎并没有像我期望的那样工作,而是像 一样正常地给了我一个列表”等待 [1,2,3,4,...]MS"。我该怎么办?

最佳答案

我想你想要这样的东西:

''.join("WAIT%dMS"%i for i in range(1,256))

我认为这是一个更好的方法:

def accept_string(s):
    try:
        i = int(s[4:-2])
    except ValueError:
        return False
    return s.startswith('WAIT') and s.endswith('MS') and (1 <= i < 256)

关于Python:使用 range() 和 "".join(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14146050/

相关文章:

java - 将字符放入 SimpleDateFormat

python - 将文件转换为数字图像失败,出现 "tile cannot extend outside image"

python - Python 中断言失败

Python manage.py runserver 不适用于项目(Django)

python - argparse:条件add_argument

join - 如何在mongodb中加入查询?

c++ - 将 std::string 转换为 const char*,出现错误

javascript - 如何使用 JavaScript 将 HTML 段落拆分为文本行

mysql加入一对多最后一条记录

database - 在 postgresql 中加入两个选择查询