首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从列表中提取一个带引号的元素

从列表中提取一个带引号的元素
EN

Stack Overflow用户
提问于 2017-11-04 06:47:07
回答 4查看 1.4K关注 0票数 0

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

例如:

代码语言:javascript
复制
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

EN

回答 4

Stack Overflow用户

发布于 2017-11-04 06:53:30

引号不是值的一部分-它们只是用来区分数字1和只有一个符号1的字符串。

即使在字符串两边,print()函数也不会打印引号(不像交互式会话那样,只输入变量名或表达式)。

因此,您需要手动将它们放入print()函数,例如。

代码语言:javascript
复制
print("'" + str(a1) + "'")
print("'" + b1 + "'")

代码语言:javascript
复制
print("'{}'".format(a1))
print("'{}'".format(b1))

或者-在Python 3.6+中-

代码语言:javascript
复制
print(f"'{a1}'")
print(f"'{b1}'")
票数 2
EN

Stack Overflow用户

发布于 2017-11-04 06:57:35

通常,Python将打印不带引号的字符串。这在几乎所有编程语言中都是标准的。

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

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

代码语言:javascript
复制
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))

输出

代码语言:javascript
复制
'0'
'0'

您可以阅读有关the official tutorial中字符串表示的内容。

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

代码语言:javascript
复制
print(repr(b1))

请记住,如果字符串已经包含单引号字符,则其表示形式将包含在双引号中:

代码语言:javascript
复制
s = "A 'test' string"
print(repr(s))

输出

代码语言:javascript
复制
"A 'test' string"

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

代码语言:javascript
复制
s = "A 'test' \"string\""
print(repr(s))

输出

代码语言:javascript
复制
'A \'test\' "string"'

因此,如果出于某种原因,您不想要该行为,则需要显式地打印引号:

代码语言:javascript
复制
s = "A 'test' string"
print("'{}'".format(s))

输出

代码语言:javascript
复制
'A 'test' string'
票数 1
EN

Stack Overflow用户

发布于 2017-11-04 06:55:09

井,

代码语言:javascript
复制
>>> print(repr(str(a1)))
'0'
>>> print(repr(str(b1)))
'0'

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47105392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档