我想從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