【问题标题】:How to print a list without brackets and commas? [duplicate]如何打印没有括号和逗号的列表? [复制]
【发布时间】:2020-03-19 16:59:50
【问题描述】:

如何打印不带括号和逗号的列表?

n1 = 15.3
n2 = 18.2
name = 'Ana'
l = [[name], ['Grade 1: ', round(n1)], ['Grade 2: ', round(n2)]]
print(l)

我明白了:

[['Ana'], ['Grade 1: ', 15], ['Grade 2: ', 18]]

但我需要这样:

Ana 
Grade 1: 15 
Grade 2: 18

【问题讨论】:

  • 你能试着写一个for 循环来打印元素吗?
  • 不要尝试“打印列表”;浏览列表并找到其中的内容,然后打印出来。
  • 你尝试了什么“没有用”?我们或许可以告诉您您做错了什么。
  • 我尝试了循环和诸如 print(str(nomef)[1:-2]) 之类的东西,但现在得到了帮助并使其工作,谢谢。

标签: python python-3.x


【解决方案1】:

您有一个列表列表,因此print list without brackets 等其他问题不直接适用。

所以使用for遍历列表,依次打印每个子列表:

for x in l:
    print(*x, sep='')

【讨论】:

    【解决方案2】:

    试试这个:)

    n1 = 15.3
    n2 = 18.2
    name = "Ana"
    list = [name, f"Grade 1: {round(n1)}", f"Grade 2: {round(n2)}"]
    for thing in list:
        print(f"{thing}")
    

    您的问题是,在列表 [] 中,您只需在之后键入变量或字符串和逗号。您无需将它们放在括号或引号中。

    【讨论】:

    • 我试过如果 f 和 {} 来格式化它,效果更好,但我仍然得到带有 {} 的数字,例如:{15} {18}。然后我尝试在列表中不使用列表,我删除了所有 [ ] 并且它有效 感谢您的提示!
    【解决方案3】:

    使用列表推导和星号表达式* 打印以将列表评估为可迭代对象。

    [print(*item) for item in l]
    

    星型表达式 (*args) 记录在表达式参考中:

    如果语法 *expression 出现在函数调用中,则表达式必须计算为可迭代。来自这个可迭代的元素被视为附加的位置参数;如果有位置参数 x1, ..., xN,并且表达式的计算结果为序列 y1, ..., yM,则这等效于使用 M+N 位置参数 x1, ..., xN, y1, 的调用。 ..,嗯。

    【讨论】:

    • 列表推导并不意味着副作用。即,您创建一个列表只是为了打印一些东西,并留下一个列表,其中包含您从未使用过的 None。这种情况需要一个简单的循环,正如其他答案中已经建议的那样。列表推导适用于您实际需要构建列表时
    【解决方案4】:

    小改动

    n1 = 15.3

    n2 = 18.2

    name='安娜'

    l = [name,'1 年级:{}'.format(round(n1)),'1 年级:{}'.format(round(n2))]

    .format 对你有用

    添加公式:

    对于 l 中的东西:

    print(things)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-12
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      相关资源
      最近更新 更多