如何将包含单个字符串的列表附加到列表中?

时间:2014-05-18 19:58:18

标签: python list

我想知道如何将列表附加到列表中?

x = []
x.append(list(('H4','H3')))
print x # [['H4', 'H3']]

x.append(list('H4'))
print x # [['H4', 'H3'], ['H','4']]

我想知道如何获得[['H4', 'H3'], ['H4']]而不是[['H4', 'H3'], ['H','4']]。我在网上搜索过,我只看到了x.extend,这并不是我想要的:\

1 个答案:

答案 0 :(得分:1)

您可以使用[]代替list

x.append(['H4'])

list函数(构造一个新列表)在参数中使用iterable并在列表中添加iterable的每个元素。但是,字符串在Python中是可迭代的,因此每个元素(这里的字符)都作为元素添加到列表中。使用[]快捷方式可以避免这种情况。

From the documentation

  

list([iterable])

     

返回一个列表,其项目与iterable的项目相同且顺序相同。 iterable可以是序列,支持迭代的容器,也可以是迭代器对象。如果iterable已经是一个列表,则会生成并返回一个副本,类似于iterable [:]。 例如,list('abc')返回['a', 'b', 'c'] ,列表((1,2,3))返回[1,2,3]。如果没有给出参数,则返回一个新的空列表,[]。