簡體   English   中英

將元組轉換為列表時,Python 列表索引超出范圍

[英]Python list Index Out of range while Converting Tuple to List

在學習 Python 時,我陷入了一個問題,GeeksforGeeks 告訴我們要將元組轉換為 List,我們可以使用這個過程variable_name = list(tuple_variable_name)但是在我的示例代碼中實現這個過程不起作用順便說一句我得到了輸入使用 sys.stdin.read()

這是我嘗試在 Pycharm 中運行的代碼

import sys,ast
input_str = sys.stdin.read()
input_list = ast.literal_eval(input_str)

def my_sort(a1):
    a = list(a1)
    for i in a:
        if (a[i]%5) < (a[i+1]% 5):
            temp = a[i]
            a[i] = a[i+1]
            a[i+1] = temp
    print(a)

my_sort(input_list)

任何人都可以幫助我清除疑慮或理解這些概念

我認為可能值得發布一個簡單、完整的示例,因為評論中的討論導致了一堆在帖子中並不明顯的新信息。

#str_in = input('Enter the numbers to sort: ')
str_in = '1,9,35,12,13,21,10'

nums = [int(elem) for elem in str_in.split(',')]

sorted_nums = sorted(nums, key=lambda x: x % 5)

print(sorted_nums)

輸出:

[35, 10, 1, 21, 12, 13, 9]

for i in a更改for i in a for i in range(len(a))

import sys,ast
input_str = sys.stdin.read()
input_list = ast.literal_eval(input_str)

def my_sort(a1):
    a = list(a1)
    for i in range(len(a)):
        if (a[i]%5) < (a[i+1]% 5):
            temp = a[i]
            a[i] = a[i+1]
            a[i+1] = temp
    print(a)

my_sort(input_list)

for i in a循環遍歷每個元素a時間for i in range(len(a))循環遍歷每個索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM