【发布时间】:2021-09-24 22:15:22
【问题描述】:
我有这个列表:
x = [["hello", 1, "pacific", 'M','F','W'], ["yes", 4, 5, "turn", 'S', 'F', 'Su']]
我想加入列表中的特定项目:'M','F','W','S','Su'
因此,如果列表中存在这些项目中的任何一个,则应将它们连接在一起,从而产生:
x = [["hello", 1, "pacific", 'M,F,W'], ["yes", 4, 5, "turn", 'S,F,Su']]
我当前的尝试如下所示:
x = [["hello", 1, "pacific", 'M','F','W'], ["yes", 4, 5, "turn", 'S', 'F', 'Su']]
z = []
for item in x:
for y in item:
if y == 'M' or y == 'F' or y =='W' or y == 'S' or y =='Su':
item.index(y)
z.append((item.index(y)))
else:
pass
x[min(z):max(z)+1] = [','.join(item[min(z):max(z)+1])]
print(x)
我想我可以在列表中获取我想要的特定字符串的位置,然后使用 min 和 max 加入它们。
我的代码返回:
[['hello', 1, 'pacific', 'M', 'F', 'W'], ['yes', 4, 5, 'turn', 'S', 'F', 'Su'], 'turn,S,F']
非常感谢任何帮助!
【问题讨论】:
-
它们总是出现在最后三个位置吗?
-
它们总是连续的吗?
-
我希望他们不被逼到最后的位置。他们可能并不总是处于最终位置......这是一个很好的观点。
标签: python list for-loop if-statement indexing