是否有直接的方式(不使用循环)访问组成列表的字符串的不同字符?
例如:
L=['hola','que','tal']
我如何直接访问例如第三个字符串的第二个元素? [即'一个&#39]。在同一行中,我如何直接访问每个字符串的前两个元素以创建新列表
S=['ho','qu','ta']
我希望在第一种情况下类似L[2][1]
,类似L[:][:2]
,但显然不正确。
答案 0 :(得分:2)
您的第一种方法是正确的,这确实是您如何索引多维列表
>>> L[2][1]
'a'
第二个问题可以使用列表理解中的切片来解决
>>> [i[:2] for i in L]
['ho', 'qu', 'ta']
答案 1 :(得分:0)
你可以这样做:
[a[:2] for a in L]
>>> L
['hola', 'que', 'tal']
>>> [a[:2] for a in L]
['ho', 'qu', 'ta']
我们在列表L
上进行迭代,对于每个元素,我们得到前两个字符。
答案 2 :(得分:0)
使用列表理解:
L=['hola','que','tal']
s = [i[:2] for i in L]
这会给你:
['ho', 'qu', 'ta']
答案 3 :(得分:0)
如果您希望新列表中每个字符串的前两个元素使用:
L=['hola','que','tal']
S = [x[:2] for x in L]
答案 4 :(得分:0)
没有使用循环(等待有人证明我错了),没有办法获得输出。您可以使用map()
隐藏隐藏循环。
L=['hola','que','tal']
print(map(lambda x: x[:2], L))
#['ho', 'qu', 'ta']