使用引号从列表中提取一个元素

时间:2017-11-03 22:47:07

标签: python list quotation-marks

我想从python中的列表中提取一个元素。

例如:

a = [0,1,2,3]
b = ['0','1','2','3']
a1 = a[0]
b1 = b[0]
print(a1)
print(b1)

正如所料,代码为a1和b1打印0。

但是我想得到' 0'对于a1和b1都用单引号而不是0。

任何想法或帮助都会非常感激。

谢谢,

伊萨克

4 个答案:

答案 0 :(得分:2)

引号不是值的一部分 - 它们仅用于区分e。 G。 1来自字符串,只有符号 1

print()函数即使在字符串周围也不打印引号(与交互式会话不同,当你输入只有变量名或表达式时)。

所以你已经手动将它们放入print()函数,e。克。

print("'" + str(a1) + "'")
print("'" + b1 + "'")

print("'{}'".format(a1))
print("'{}'".format(b1))

或 - 在Python 3.6+中 -

print(f"'{a1}'")
print(f"'{b1}'")

答案 1 :(得分:1)

通常,Python会打印一个没有引号的字符串。这几乎是所有编程语言的标准。

但是,Python 允许您使用引号打印字符串,您只需要告诉它打印字符串的表示。一种方法是使用!r格式化指令。

a中的项目是整数,如果您希望将它们打印为字符串,则需要将它们转换为字符串。

a = [0, 1, 2, 3]
b = ['0','1','2','3']
a1 = a[0]
b1 = b[0]

print('{!r}'.format(str(a1)))
print('{!r}'.format(b1))

<强>输出

'0'
'0'

您可以在the official tutorial中了解字符串的表示形式。

还有其他方法可以查看字符串的表示形式。例如,您可以调用内置的repr函数:

print(repr(b1))

请记住,如果一个字符串已经包含单引号字符,那么它的表示将用双引号括起来:

s = "A 'test' string"
print(repr(s))

<强>输出

"A 'test' string"

如果字符串包含引号的混合,那么表示将恢复为使用单引号,并使用反斜杠转义来表示单引号:

s = "A 'test' \"string\""
print(repr(s))

<强>输出

'A \'test\' "string"'

因此,如果由于某种原因你不想要这种行为,那么你需要明确地打印引号:

s = "A 'test' string"
print("'{}'".format(s))

<强>输出

'A 'test' string'

答案 2 :(得分:0)

阱,

>>> print(repr(str(a1)))
'0'
>>> print(repr(str(b1)))
'0'

会这样做,但正如其他人评论的那样,我不确定你的意图。

答案 3 :(得分:0)

我在网上搜索了Why are some Python strings are printed with quotes and some are printed without quotes?

我认为如果按如下方式打印,它将按您的意愿工作:

print(repr(a1))
print(repr(b1))