Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我想打印以奇数或偶数作为索引的字母(字符串),并将其保存为列表_Python_Python 3.x_If Statement_Range - Fatal编程技术网

Python 我想打印以奇数或偶数作为索引的字母(字符串),并将其保存为列表

Python 我想打印以奇数或偶数作为索引的字母(字符串),并将其保存为列表,python,python-3.x,if-statement,range,Python,Python 3.x,If Statement,Range,我想打印并保存这个单词的字母;我想迭代这个单词,得到每个以偶数为索引的字母,将其存储或保存在列表中,还想得到每个以奇数为索引的字母,并将其保存为各自变量中的列表。下面是代码 word = "complexity" even_letters = "" odd_letters = "" for index in range(0,len(word)): if int(index) % 2 == 0: even_lett

我想打印并保存这个单词的字母;我想迭代这个单词,得到每个以偶数为索引的字母,将其存储或保存在列表中,还想得到每个以奇数为索引的字母,并将其保存为各自变量中的列表。下面是代码

word = "complexity"
even_letters = ""
odd_letters = ""
for index in range(0,len(word)):

    if int(index) % 2 == 0:
       even_letters = word[index]
   else:
        odd_letters = word[index]

print(list(even_letters))
print(list(odd_letters))
但我的结果仅表明:

['t']

['y']


我做错了什么?

您正在覆盖字符串,而不是添加到字符串中

改变

even_letters = word[index]


=重新分配覆盖。+=添加到

您正在覆盖字符串,而不是添加到字符串中

改变

even_letters = word[index]


=重新分配覆盖。+=添加到

如您所说,如果要将不同的字母保存为列表,则偶数字母和奇数字母必须初始化为列表,并且必须附加字母,而不是重置其值。 如果我是你,我也会在python中使用enumerate选项,这样你就可以同时获得索引和字母

word = "complexity"
even_letters = []
odd_letters = []
for index, letter in enumerate(word):
    if index % 2 == 0:
        even_letters.append(letter)
    else:
        odd_letters.append(letter)
print(list(even_letters))

print(list(odd_letters))
如果希望获取字符串而不是列表,则可以更改 偶数字母=字母 和 奇数字母=字母 对于 偶数字母+=字母
奇数字母+=字母

如您所说,如果要将不同的字母保存为列表,则偶数字母和奇数字母必须初始化为列表,并且必须附加字母,而不是重置其值。 如果我是你,我也会在python中使用enumerate选项,这样你就可以同时获得索引和字母

word = "complexity"
even_letters = []
odd_letters = []
for index, letter in enumerate(word):
    if index % 2 == 0:
        even_letters.append(letter)
    else:
        odd_letters.append(letter)
print(list(even_letters))

print(list(odd_letters))
如果希望获取字符串而不是列表,则可以更改 偶数字母=字母 和 奇数字母=字母 对于 偶数字母+=字母
单数字母+=字母

使用列表理解更容易做到这一点:

even_letters = [c for i, c in enumerate(word) if i % 2 == 0]
odd_letters = [c for i, c in enumerate(word) if i % 2 == 1]

这可以通过列表理解更容易地完成:

even_letters = [c for i, c in enumerate(word) if i % 2 == 0]
odd_letters = [c for i, c in enumerate(word) if i % 2 == 1]

我刚这么做了,得到了TypeError:unary+的操作数类型不好:'str'@samjerreriamanuel我刚试过,效果很好。你必须在+或什么后面有一个空格。我刚刚这么做了,并且得到了TypeError:一元数+的操作数类型不好:'str'@samjerreriamanuel我刚试过,效果很好。你必须在+后面有一个空格。