我有一个包含以下元素的列表:' rainbow ' = [' red &# 39;,' 橙',' 黄色',' 绿色& #39;,' 蓝色',' 靛蓝',' 紫 ']
我想要列表中一个元素的第二,第三和第四个字母,在这种情况下,' orange '。所以最后,我应该 &#39>。
到目前为止,我只使用此代码获得了所有元素的第2,第3,第4个字母:
for i in rainbow:
print(i[1:4]),
答案 0 :(得分:2)
你有点困惑。如果您只想检索 单个元素的第2-4个字母,则无需循环 。识别所述元素的索引,并使用列表索引访问它。在您的情况下,您希望元素位于 第一个 索引(列表为零索引):
>>> rainbow = ['red','orange','yellow','green','blue','indigo','violet']
>>> rainbow[1][1:4]
'ran'
如果您想 找到 列表中符合特定条件的元素并打印其中的第2-4个字母(那些),您可以在for
循环中使用条件语句:
>>> rainbow = ['red','orange','yellow','green','blue','indigo','violet']
>>> for i in rainbow:
if i == 'orange':
print(i[1:4])
ran
答案 1 :(得分:1)
如果您正在寻找一个您不知道索引的通用解决方案,因为它是一个列表,您需要找到相应的索引。所以,这是一个解决方案:
rainbow =['red','orange','yellow','green','blue','indigo','violet']
word_to_search = 'orange'
index = rainbow.index(word_to_search)
print(rainbow[index][1:4])
<强>输出强>
ran
答案 2 :(得分:1)
你有一个很好的开始。如果您想要特定颜色,可以使用index = rainbow.index('orange')
在列表中搜索橙色索引以查找橙色,然后拨打orange = rainbow[index]
然后您可以通过letters = orange[1:3]
获取该信息。我在程序中添加了截断版本。
如果我想在完整列表中执行此操作,我会使用以下程序
def main():
rainbow = ['red','orange','yellow','green','blue','indigo','violet']
# If you want to print it for each color
for color in rainbow:
print(ith_letter(1, 4, color))
# OR, If you want to print it for a specifi color
orange = rainbow[rainbow.index('orange')]
print(orange[1:4])
#-------------------------------------------------------------------------------
def ith_letter(start, finish, string):
# color may not contain 4 letters
try:
return string[start:finish]
except:
return ""
#-------------------------------------------------------------------------------
# Call main function
main()
答案 3 :(得分:0)
您必须将字符串中所需的字母分配给变量,然后打印变量
for i in rainbow:
string = i[1:4]
print(string)
它有效。但要小心,你必须检查字符串中是否有那么多字母。例如,红色是3个字母,它会产生错误/意外结果