【发布时间】:2019-05-23 03:11:26
【问题描述】:
我有一个 2 元素列表,我想用另一个元素的元素对其进行扩展。 在 Jupyter 中玩耍我发现了这种我无法理解的奇怪行为。
# this is my first list
columnslist=['app','SUM']
['app','SUM']
# it is going to be extended with the values A and B
columnslist.extend(['A','B'])
['app','SUM','A','B']
# It is possible to make a list out of a string in this way
print(list('AB'))
['A','B']
# I realise that list('AB')= ['A','B']
This works:
columnslist.extend(list('AB'))
# but the following does not work:
mytext='this is a text to be split'
columnslist.extend(mytext.split())
为什么会这样? 谢谢
【问题讨论】:
-
你在哪里见过
list[...],为什么你觉得这比你上面只使用一行的list(...)语法更正确? -
谢谢。那是一个错字
-
list['AB']不是正确的语法恕我直言。list(['AB']) -
你用更不正确的东西修正了“错字”。
-
错字已更正。我看到的是 list 将一个字符串放入 () 并给出一个列表,哪些元素是字符串的字符。 @cph:在 list(['AB']) 中,您传递给 list 一个列表,因为 ['AB'] 是一个包含一个元素的列表。 list(['AB']) 给出 ['AB'] 而不是 'A', 'B'。