我想从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
任何想法或帮助将非常感激。
谢谢
伊萨克
我想从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
任何想法或帮助将非常感激。
谢谢
伊萨克
引号不是值的一部分 - 他们仅用于区分即G。 的号码1
从字符串只有符号1
。
的print()
功能不打印,甚至周围的字符串引号(不像一个交互式会话,当你给作为输入只有一个变量名或表达式)。
因此,您已经手动将它们放入print()
函数,例如, G。
print("'" + str(a1) + "'")
print("'" + b1 + "'")
或
print("'{}'".format(a1))
print("'{}'".format(b1))
或者 - 在Python 3.6+ -
print(f"'{a1}'")
print(f"'{b1}'")
好,
>>> print(repr(str(a1)))
'0'
>>> print(repr(str(b1)))
'0'
会做,但别人的评论我不确定你的意图。
我在网上搜索,发现Why are some Python strings are printed with quotes and some are printed without quotes?
我想,如果打印如下,它将工作如你所愿:
print(repr(a1))
print(repr(b1))
通常情况下,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'
你想打印吗?还是需要三个字符长的字符串'0'作进一步处理? – GPhilo
这不是值和类型的工作方式。 print(0)和print('0')的输出在几乎所有的语言中都是一样的,但这也是完全不相关的。如果您想打印单引号,请输入“print(”'“)''单引号。 – hop
@GPhilo:我需要三个字符的字符串'0'。谢谢你, – Isaac