我有这个:
list = ['h', 'e', "'", 'l', 'l', 'o']
我想要这个:
list = ['h', "e'", 'l', 'l', 'o']
我想只加入两个列表元素。我怎么能这样做?
答案 0 :(得分:4)
您可以在Python3中使用解压缩:
l = ['h', 'e', "'", 'l', 'l', 'o']
a, *b, c, d, e = l
new_l = [a, ''.join(b), c, d, e]
输出:
['h', "e'", 'l', 'l', 'o']
由于Python2不支持列表解包(*
),您可以使用列表切片:
l = ['h', 'e', "'", 'l', 'l', 'o']
new_l = l[:1]+[''.join(l[1:3])]+l[3:]
输出:
['h', "e'", 'l', 'l', 'o']
答案 1 :(得分:2)
正如约翰戈登在评论中所说,最简单的方法可能就是这样:
l = list("he'llo")
l[1] += l[2]
del l[2]
答案 2 :(得分:1)
您可以定义自己的函数并使用.pop
删除第二个元素:
def merge(myList, a, b):
myList[a] = myList[a] + myList.pop(b)
return myList
>>> merge(['h', 'e', "'", 'l', 'l', 'o'], 1, 2)
['h', "e'", 'l', 'l', 'o']
答案 3 :(得分:1)
试试这个
mp4box -add audio.mp4#audio video.mp4 -out video-and-audio.mp4
答案 4 :(得分:1)
您可以根据需要过滤结果:
永远不要将列表用作变量名称:
list_1 = ['h', 'e', "'", 'l', 'l', 'o']
print(list(filter(lambda x:x!="'",list_1)))
输出:
['h', 'e', 'l', 'l', 'o']
如果你想加入:
print("".join(list(filter(lambda x:x!="'",list_1))))
输出:
hello