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我刚试过,效果很好。你必须在+后面有一个空格。