亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在列表中輸入負數

如何在列表中輸入負數

慕容森 2021-08-14 13:36:31
我需要一些幫助,因為每當我輸入一個負數時,列表會將其解釋為一個單獨的元素,因此一旦開始排序,它就會將所有負號放在開頭。代碼的最終目標是在不使用默認排序函數的情況下對 2 個合并列表進行排序。此外,如果有更好的方法來擺脫列表中的空格,我將不勝感激,因為目前我必須將列表轉換為字符串并替換/去除空格導致的額外元素。list1 = list(input())list2 = list(input())mergelist = list1 + list2print(mergelist)def bubble_sort(X):    nums = list(X)    for i in range(len(X)):        for j in range(i+1, len(X)):            if X[j] < X[i]:                X[j], X[i] = X[i], X[j]    return Xmergelist = bubble_sort(mergelist)strmergelist = str(mergelist)strmergelist = strmergelist.replace("'", '')strmergelist = strmergelist.replace(",", '')strmergelist = strmergelist.strip('[]')strmergelist = strmergelist.strip()print(strmergelist)沒有否定的列表的輸出是:1 2 3 4 4 5 5但是,如果是負數,則變為:- - - - 1 2 3 3 4 4 5當我輸入任何負數時,我第一個檢查列表合并的打印函數看起來像這樣(忽略空格,因為我稍后嘗試刪除它們):['1', ' ', '-', '2', ' ', '3', '3', ' ', '-', '4', ' ', '-', '4', ' ', '-', '5']
查看完整描述

1 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

list()不會將字符串解析為整數列表,而是將可迭代的項目轉換為項目列表。要從控制臺讀取列表,請嘗試以下操作:


def read_list():

    """

    read a list of integers from stdin

    """

    return list(map(int, input().split()))


list1 = read_list()

list2 = read_list()

input.split() 讀取一行用戶輸入并將其用空格分隔 - 基本上是單詞。


int() 可以將字符串轉換為整數。


map(int, ...)返回一個適用int()于用戶輸入的每個“單詞”的可迭代對象。


最后一次調用list()將把可迭代對象變成一個列表。


這也應該處理負數。


此外,我看到您想要打印沒有額外字符的結果列表。我推薦這個:


print(' '.join(mergelist))


查看完整回答
反對 回復 2021-08-14
  • 1 回答
  • 0 關注
  • 304 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號