【问题标题】:Python: Easier way to change/edit items in a list?Python:更改/编辑列表中项目的更简单方法?
【发布时间】:2014-04-26 20:33:28
【问题描述】:
strings = input("")
mylist = strings.split(" ")
print(mylist[0]+mylist[1],mylist[1]+mylist[2],mylist[2]+mylist[3],mylist[3]+mylist[4],mylist[4]+mylist[5],mylist[5]+mylist[6])

在上面的代码中,如果用户输入(“a b c d e f g”),它会打印出想要的结果: “ab bc cd de ef fg”。 但是,我将不得不继续更改不同输入长度的代码。我尝试使用“for-in”语句,但我得到“字符串索引超出范围”,其他使用循环的尝试都是徒劳的。如图所示,它应该是空格分隔的。 顺便说一句,这不是家庭作业或作业问题,只是为即将到来的测试做一些修改。一旦我掌握了上述方法,我就可以解决其他类似的问题。请帮忙。 Python 3.3。

【问题讨论】:

  • 你到底想做什么?按两个分组打印?

标签: python string list python-3.x


【解决方案1】:

充分利用 Py3k 中的print 函数:

strings = 'a b c d e f g'
mylist = strings.split()
for x, y in zip(mylist, mylist[1:]):
    print(x, y, sep='', end=' ') # ab bc cd de ef fg

坚持使用更简单的方法:

strings = 'a b c d e f g'
mylist = strings.split()
pairs = []

count = 0
for x in mylist:
    if count == len(mylist) - 1:
        break
    pairs += [mylist[count]+mylist[count+1]]
    count += 1

print(' '.join(pairs)) # ab bc cd de ef fg

【讨论】:

  • 我们以前从不使用“zip”,所以我认为我不应该使用它。此外,它会将诸如“ab”和“bc”之类的结果打印在一个下方,而不是在同一行中。
猜你喜欢
  • 2022-07-07
  • 1970-01-01
  • 1970-01-01
  • 2016-05-31
  • 1970-01-01
  • 2011-09-25
  • 2011-05-25
  • 1970-01-01
  • 2013-02-09
相关资源
最近更新 更多