Py学习  »  Python

将实例“count”合并到连接到字符串的列表中(Python3)

downwithocp • 4 年前 • 1301 次点击  

第一次问这样的问题,请容忍我。

在我编写的python程序中,我试图通过使用join方法(because:efficiency)避免for循环中字符串的连接,但是我希望程序在每个实例旁边放置一个计数。

[1] 第一项[2]第二项[3]第三项

据我所知(我不是一个大师级的pythoner),这种形式的using.join()使用的是列表理解,我似乎无法找到正确的语法来完成我想做的事情。

temporary_list = ["First item", "Second item", "Third item"]
count = 1
display = "\n".join("> [{}] {}".format((count), t), count += 1 for t in temporary_list[:10])

我可以用for循环轻松完成这项工作:

    for t in temporary_list[:10]:
            display += "> [{}] {}\n".format(count, t)
            count += 1

我有一个类似的代码行,工作正常,没有计数。

display = "\n".join("> {}: {}".format(t, display_correctly(number_list[t])) for t in temporary_list[:10])

我试过玩括号,用“and”和很多谷歌搜索。有办法吗?

如果重要的话,我将使用Python3.6

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55608
 
1301 次点击  
文章 [ 3 ]  |  最新文章 4 年前
Errol
Reply   •   1 楼
Errol    4 年前

如果您只想打印出列表中项目的索引。但如果要计算列表中每个项目的出现次数,请使用 Counter()

temporary_list = ["First item", "Second item", "Third item"]

for index,value in enumerate(temporary_list):
    print(f'[{index+1}]', value)

输出:

[1] First item
[2] Second item
[3] Third item

如果要水平打印:

temporary_list = ["First item", "Second item", "Third item"]
print(" ".join([f'[{index+1}] {value}' for index,value in enumerate(temporary_list)]))

输出:

[1] First item [2] Second item [3] Third item
lutre69
Reply   •   2 楼
lutre69    4 年前

尝试:

"\n".join("> [{}] {}".format((count), t) for count, t in zip(range(len(temporary_list[:10])), temporary_list[:10]))

Chris
Reply   •   3 楼
Chris    4 年前

IIUC,你需要 enumerate

temporary_list = ["First item", "Second item", "Third item"]
print("\n".join("> [{}] {}".format(n, i) for n, i in enumerate(temporary_list, start=1)))

输出:

> [1] First item
> [2] Second item
> [3] Third item