我想从python中的list中提取一个元素。
例如:
a = [0,1,2,3]
b = ['0','1','2','3']
a1 = a[0]
b1 = b[0]
print(a1)
print(b1)不出所料,a1和b1的代码都打印为0。
但是,我希望a1和b1都是' 0‘,使用单引号而不是0。
任何想法或帮助都将不胜感激。
谢谢,
Issac
发布于 2017-11-04 06:53:30
引号不是值的一部分-它们只是用来区分数字1和只有一个符号1的字符串。
即使在字符串两边,print()函数也不会打印引号(不像交互式会话那样,只输入变量名或表达式)。
因此,您需要手动将它们放入print()函数,例如。
print("'" + str(a1) + "'")
print("'" + b1 + "'")或
print("'{}'".format(a1))
print("'{}'".format(b1))或者-在Python 3.6+中-
print(f"'{a1}'")
print(f"'{b1}'")发布于 2017-11-04 06:57:35
通常,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'发布于 2017-11-04 06:55:09
井,
>>> print(repr(str(a1)))
'0'
>>> print(repr(str(b1)))
'0'我会的,但正如其他人评论的那样,我不确定你的意图。
https://stackoverflow.com/questions/47105392
复制相似问题