python - 遍历具有不同长度字符串的列表

标签 python loops

假设我有一个这样的列表。

a = [1, 23, 456, 6789]

而我想改变列表中每个位置的元素的位置。输出将是,每个数字都向上移动一个位置,直到字符串的末尾,然后移动到字符串的前面。

例如

1, 23, 32, 456, 645, 564, 6789, 9678, 8967, 7896

我知道如何使用单个数字或固定长度的字符串来执行此操作,但是当字符串不断改变长度时,我不知道该怎么做。

这是我目前所拥有的,但到目前为止,我在字符串的被调用单个元素上遇到了 op - 例如数字 4 - 在字符串中 - 564 - 已经在列表中。

for i in a:
  for j in len(i):
    print a[len(i)-j]

* 编辑 *

哎呀,发布得太早了。最终版本如上。

最佳答案

a = [1, 23, 456, 6789]
for i in map(str, a):
  for j in range(len(i)):
    print(i[j:]+i[:j])

内置函数 map 记录在 python.org 上。

如果数字的顺序是相关的,那么做:

import itertools
a = [1, 23, 456, 6789]
for i in map(str, a):
  for j in itertools.chain(range(1),range(len(i)-1,0,-1)):
    print(i[j:]+i[:j])

内置模块 itertools 的函数 chain 记录在 python.org 上。您也可以在没有 itertools.chain() 的情况下执行此操作,但这是我想到的第一件事。

关于python - 遍历具有不同长度字符串的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28547690/

相关文章:

python - 将校正列添加到数据框

python - pandas:获取整个数据框中的最高值以及行/列值?

Python:N Puzzle (8-Puzzle) Solver Heruistics:如何迭代?

c - brainfuck 中的嵌套循环

arrays - 在 Perl 中遍历数组的哈希数组?

python - kivy anchor 布局不锚定?

python - 在 Python 中处理来自 CSV 的字符串输入

C - 如何排除 y/n 循环中的其他输入

c - 使用函数确定最小值或最大值

python - Win32API 鼠标与真正的鼠标点击