我有一个清单:
List_1 = [1,2,3,4,5,6,7,8,9]
我在我的程序中做的是,如果我按1将使List_1 [0]进入X或按任何数字我按,它将其变为X.我的列表总共有9个数字。
我想要做的是,如果将IF 3特定数字转换为X,那么程序将继续运行。
所以,如果我最终得到:
List_1 = [1,'X',3,4,'X',6,'X',8,9]
然后程序将继续。
答案 0 :(得分:3)
如果您需要连续集(例如原始问题中的前三个条目),请使用切片语法:
list_2 = a[:3]
如果您只需要特定集合中的元素,请使用理解:
stuff_i_need = [1, 'gg']
list_2 = [x for x in L if x in stuff_i_need]
(但是,如果你知道你需要什么,而且它是一个非常小的列表,那么只需手动访问列表中包含你需要的元素的位置就可以了。)
如果你想创建一个列表中某些内容的字符串,一个选项是自己连接它们并用字符串构造函数str
包装元素:
str(L[0]) + str(L[3])
另一种做同样事情的方法是:
import operator
reduce(operator.add, map(str, L))
# Also, just replace L with any of the slicing or accessing mentioned above.
答案 1 :(得分:1)
使用切片,如其他答案和评论所述。但如果索引是非连续的,您可以将列表理解与enumerate
一起使用:
>>> [x for i, x in enumerate(a) if i in [0, 1, 3]]
[1, 'X', 'X']
<强>更新强>
问题发生了变化,而是询问如何获取列表的不同部分并将它们连接成一个字符串。上面的一个小修改:
>>> "".join(str(x) for i, x in enumerate(L) if i in [0, 3])
'1gg'