首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中迭代时级联字符串和两个条件的变量

在python中迭代时级联字符串和两个条件的变量
EN

Stack Overflow用户
提问于 2020-05-31 12:29:40
回答 2查看 76关注 0票数 0

我对dataframe进行了迭代,但在这里的示例中,我使用了一个列表。

代码语言:javascript
复制
seq = [0, -1, 0, 1, 2, 1, 0, -1, -2, -3, -4, -5, -4, -3, -2, -1]
box = []

for i in range(1, len(seq)):
    if seq[i] > seq[i-1]:
        box.append(seq[i])
    else:
        box.append(seq[i-1]+10)

box

现在,我想在每个附加值中添加一个字符串前缀,如下所示:

对于If语句字母'A-‘中的所有值

其他语句字母'B-‘中的所有值

我想要的输出是:

代码语言:javascript
复制
[B-10, A-0, A-1, A-2, B-12, B-11, B-10......

我在附加方法中使用.join和简单逗号或+进行了尝试,但这些方法都不起作用。对如何做到这一点有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-31 12:33:13

您可以使用f-string文字添加相关字母:

代码语言:javascript
复制
seq = [0, -1, 0, 1, 2, 1, 0, -1, -2, -3, -4, -5, -4, -3, -2, -1]
box = []

for i in range(1, len(seq)):
    if seq[i] > seq[i-1]:
        box.append(f"A-{seq[i]}")
    else:
        box.append(f"B-{seq[i-1]+10}")

print(box)
OUT: ['B-10', 'A-0', 'A-1', 'A-2', 'B-12', 'B-11', 'B-10', 'B-9', 'B-8', 'B-7', 'B-6', 'A--4', 'A--3', 'A--2', 'A--1']
票数 3
EN

Stack Overflow用户

发布于 2020-05-31 12:45:00

愚蠢的一条线:

代码语言:javascript
复制
box = map(lambda p: "A-" + str(p[1]) if p[1] > p[0] else "B-" + str(p[0] + 10), [(seq[i-1], seq[i]) for i,_ in enumerate(seq[:])][1:])

但是严格地说,只需使用字符串连接,但是在连接之前将整数值转换为字符串:

代码语言:javascript
复制
seq = [0, -1, 0, 1, 2, 1, 0, -1, -2, -3, -4, -5, -4, -3, -2, -1]
box = []

for i in range(1, len(seq)):
    if seq[i] > seq[i-1]:
        box.append("A-" + str(seq[i]))
    else:
        box.append("B-" + str(seq[i-1]+10))

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

https://stackoverflow.com/questions/62116240

复制
相关文章

相似问题

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