我有這個字串:mystr = '一二三四五六' 我想從一個字串中獲取每個第二個元素。所以我想要的輸出是:'二四六' 因為最終我希望輸出為:'一 owt 三 ruof 五 xis' ie; 我想從字串中反轉每個第二個元素,這就是我從字串中獲取每個第二個元素的原因。你能幫我嗎?!先感謝您!
別介意,但這就是我正在嘗試的;
mystr = 'one two three four five six'
mystr.split(" ")
# print(type(mylist))
# print(len(mylist))
mylist = list(mystr)
print((mylist))
print(len(mylist))
uj5u.com熱心網友回復:
對于一個簡潔有效的解決方案,您可以使用串列生成器表示法創建一個陣列,其中單詞在偶數索引處反轉 ( w[::-1]) 并在奇數索引處轉發 ( w)。enumerate(some_list)允許您同時迭代索引和值。在這種情況下,我們曾經mystr.split()在空格處拆分它。最后,您需要做的就是加入。
mystr = 'one two three four five six'
output = ' '.join([w[::-1] if i % 2 else w for i, w in enumerate(mystr.split())])
print(output)
輸出:"one owt three ruof five xis"
作為一種替代解決方案,您可能會發現它更具可讀性,但不太簡潔且效率較低,它是在從 1 開始并跳過 2 的范圍內進行迭代,并在每個單詞的索引出現在回圈中時反轉每個單詞。
mystr = 'one two three four five six'
# split the string into a list of words
words = mystr.split()
# reverse every other word in the list
for i in range(1, len(words), 2):
words[i] = words[i][::-1]
# join the list back into a string
print(' '.join(words))
輸出:"one owt three ruof five xis"
uj5u.com熱心網友回復:
mystr = "one two three four five six"
temp = mystr.split()
result = []
for i in range(len(temp)):
if (i 1)%2 == 0:
result.append(temp[i][::-1])
else:
result.append(temp[i])
print(result)
輸出:
['one', 'owt', 'three', 'ruof', 'five', 'xis']
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/522352.html
標籤:Python细绳特点
