在一行中打印不带括号的列表

2024-12-12 08:41:00
admin
原创
174
摘要:问题描述:我有一个 Python 列表,例如names = ["Sam", "Peter", "James", "Julian", "Ann"] 我想在一行中打印数组,而不使用正常的“ []names = [&...

问题描述:

我有一个 Python 列表,例如

names = ["Sam", "Peter", "James", "Julian", "Ann"]

我想在一行中打印数组,而不使用正常的“ []

names = ["Sam", "Peter", "James", "Julian", "Ann"]
print (names)

将给出以下输出;

["Sam", "Peter", "James", "Julian", "Ann"]

那不是我想要的格式,而是我希望它是这样的;

Sam, Peter, James, Julian, Ann

注意:它必须在一行中。


解决方案 1:

print(', '.join(names))

听起来,这只是获取列表中的所有元素并将它们与连接起来', '

解决方案 2:

这是一个简单的。

names = ["Sam", "Peter", "James", "Julian", "Ann"]
print(*names, sep=", ")

星号解开列表并返回列表中的每个元素。

解决方案 3:

通用解决方案,适用于非字符串数组:

>>> print str(names)[1:-1]
'Sam', 'Peter', 'James', 'Julian', 'Ann'

解决方案 4:

如果输入数组是整数类型,那么您需要先将数组转换为字符串类型数组,然后使用join方法进行连接,空格连接。例如:

>>> arr = [1, 2, 4, 3]
>>> print(", " . join(arr))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, int found
>>> sarr = [str(a) for a in arr]
>>> print(", " . join(sarr))
1, 2, 4, 3
>>>

直接使用 join 连接整数和字符串将引发错误,如上所示。

解决方案 5:

有两个答案,第一个是使用'sep'设置

>>> print(*names, sep = ', ')

另一个在下面

>>> print(', '.join(names))

解决方案 6:

尝试在打印语句中列表名称前使用星号:

names = ["Sam", "Peter", "James", "Julian", "Ann"]  
print(*names)

输出:

Sam Peter James Julian Ann

解决方案 7:

这就是你所需要的

", ".join(names)

解决方案 8:

','.join(list)仅当列表中的所有项目都是字符串时才有效。如果您希望将数字列表转换为逗号分隔的字符串。例如a = [1, 2, 3, 4]'1,2,3,4'您可以

str(a)[1:-1] # '1, 2, 3, 4'

或者

str(a).lstrip('[').rstrip(']') # '1, 2, 3, 4'

尽管这不会删除任何嵌套列表。

将其转换回列表

a = '1,2,3,4'
import ast
ast.literal_eval('['+a+']')
#[1, 2, 3, 4]

解决方案 9:

对于整数类型的数组,我们需要先将其更改为字符串类型,然后使用连接函数来获得没有括号的干净输出。

    arr = [1, 2, 3, 4, 5]    
    print(', '.join(map(str, arr)))

输出 - 1, 2, 3, 4, 5

对于字符串类型的数组,我们需要直接使用 join 函数来获得没有括号的干净输出。

    arr = ["Ram", "Mohan", "Shyam", "Dilip", "Sohan"]
    print(', '.join(arr)

输出 - Ram、Mohan、Shyam、Dilip、Sohan

解决方案 10:

打印(*名称)

如果您希望它们以空格分隔的方式打印出来,这在 Python 3 中是可行的。如果您需要逗号或其他任何分隔符,请继续使用 .join() 解决方案

解决方案 11:

您需要循环遍历列表并将end=" "其保持在一行上

names = ["Sam", "Peter", "James", "Julian", "Ann"]
    index=0
    for name in names:
        print(names[index], end=", ")
        index += 1

解决方案 12:

尝试一下

print(*name)

我在 YouTube 上的AssemblyAI视频中找到了这一点,请观看此部分

解决方案 13:

我不知道这是否像其他方法一样有效,但简单的逻辑总是有效:

import sys
name = ["Sam", "Peter", "James", "Julian", "Ann"]
for i in range(0, len(names)):
    sys.stdout.write(names[i])
    if i != len(names)-1:
        sys.stdout.write(", ")

输出:

萨姆、彼得、詹姆斯、朱利安、安

解决方案 14:

以下函数将接收一个列表并返回列表项的字符串。这可以用于记录或打印目的。

def listToString(inList):
    outString = ''
    if len(inList)==1:
        outString = outString+str(inList[0])
    if len(inList)>1:
        outString = outString+str(inList[0])
        for items in inList[1:]:
            outString = outString+', '+str(items)
    return outString
相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1579  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1355  
  信创产品在政府采购中的占比分析随着信息技术的飞速发展以及国家对信息安全重视程度的不断提高,信创产业应运而生并迅速崛起。信创,即信息技术应用创新,旨在实现信息技术领域的自主可控,减少对国外技术的依赖,保障国家信息安全。政府采购作为推动信创产业发展的重要力量,其对信创产品的采购占比情况备受关注。这不仅关系到信创产业的发展前...
信创和国产化的区别   8  
  信创,即信息技术应用创新产业,旨在实现信息技术领域的自主可控,摆脱对国外技术的依赖。近年来,国货国用信创发展势头迅猛,在诸多领域取得了显著成果。这一发展趋势对科技创新产生了深远的推动作用,不仅提升了我国在信息技术领域的自主创新能力,还为经济社会的数字化转型提供了坚实支撑。信创推动核心技术突破信创产业的发展促使企业和科研...
信创工作   9  
  信创技术,即信息技术应用创新产业,旨在实现信息技术领域的自主可控与安全可靠。近年来,信创技术发展迅猛,对中小企业产生了深远的影响,带来了诸多不可忽视的价值。在数字化转型的浪潮中,中小企业面临着激烈的市场竞争和复杂多变的环境,信创技术的出现为它们提供了新的发展机遇和支撑。信创技术对中小企业的影响技术架构变革信创技术促使中...
信创国产化   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用