[在研究Python时,我陷入了一个问题,即GeeksforGeeks告诉我们,要将元组转换为List,我们可以使用此过程variable_name = list(tuple_variable_name)
,但是对我的示例代码实现此过程不起作用BTW我得到了使用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 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))
遍历每个索引。