我有一個列表a = ['type1','type2','type3']
,我有一個函數。在函數中我想返回列表,但沒有' '
。這可能嗎?當我返回時,我得到了" "
。如何返回一個不包含「」的函數列表
回答
Python向您顯示容器中的值,如列表值表示;對於字符串,這意味着您顯示的是文字字符串值,並帶有引號。
這樣做不是表示字符串值包含實際引號。
你當然也可以打印一些東西到終端,顯示只是字符串值,用逗號連接,並用方括號包圍:
print '[{0}]'.format(', '.join(yourlist))
但這不會改變列表對象,也不應該你想至。
至於你的代碼,這裏有什麼問題是你正在修改模塊中的global列表。當您導入模塊make_table(tresort_liste, sla_liste, wb)
線運行,這改變了table_liste
和lbmer
:
>>> import yourmodule
[['b\xc3\xb8k', 155.73786516665265], ['eik', 200.23439807141054], ['rogn', 149.1107219680717], ['poppel', 152.3522594021602], ['furu', 876.0254915624212], ['gran', 350.4101966249685], ['douglasgran', 778.6893258332633]]
>>> yourmodule.table_liste
[['b\xc3\xb8k', 155.73786516665265], ['eik', 200.23439807141054], ['rogn', 149.1107219680717], ['poppel', 152.3522594021602], ['furu', 876.0254915624212], ['gran', 350.4101966249685], ['douglasgran', 778.6893258332633]]
>>> yourmodule.lbmer
[155.73786516665265, 200.23439807141054, 149.1107219680717, 152.3522594021602, 876.0254915624212, 350.4101966249685, 778.6893258332633]
您的測試然後運行make_table
功能再次和測試參數被追加到這些全局列表。其結果是,該方法比你期待返回更多的數據和測試失敗:
>>> names = ['abc', 'def', 'ghi']
>>> sla = [1, 2, 4]
>>> lbm = [15.3, 7.65, 3.825]
>>> zip(*yourmodule.make_table(names, sla, 50000))
[('b\xc3\xb8k', 'eik', 'rogn', 'poppel', 'furu', 'gran', 'douglasgran', 'abc', 'def', 'ghi'), (155.73786516665265, 200.23439807141054, 149.1107219680717, 152.3522594021602, 876.0254915624212, 350.4101966249685, 778.6893258332633, 155.73786516665265, 200.23439807141054, 149.1107219680717)]
這個故事的寓意:不要使用全局變量。
您的代碼可以簡化爲:
import math
def compute_lbm(sla, wb):
return (0.3 + math.sqrt(0.0045 * wb))/sla
def make_table(tresorter, slaer, wb):
return [[sort, compute_lbm(sla, wb)] for sort, sla in zip(tresorter, slaer)]
if __name__ == '__main__':
sla_liste = [0.045, 0.035, 0.047, 0.046, 0.008, 0.020, 0.009]
tresort_liste = ["bøk", "eik", "rogn", "poppel", "furu", "gran", "douglasgran"]
wb = 10000
print make_table(tresort_liste, sla_liste, wb)
這亦不會使用全局變量。當用作模塊時,最後的print make_table()
調用也不會被執行,只有當您直接將此文件作爲主腳本運行時。
您正在使用assertAlmostEqual()
缺少places
或delta
參數,您需要指定輸出需要匹配的距離。
您正在追逐的引號在這裏絕對不是問題。
@Aaron:僅在Python 2.6及更早版本中才需要'0';對於Python 2.7和3.x位置插槽是自動編號的。 –
你是否知道那些已經承諾使用Python的大公司仍然停留在早期版本中?我整天使用2.6。 {0}是向前兼容的,但{}不向後兼容。 –
@AaronHall:當然,但這可能是評論而不是編輯。 :-) –
- 1. 函數返回一個包含返回類的函數的類
- 2. 如何返回一個包含兩個函數的函數和兩個參數
- 3. 使一個函數返回一個包含對象的數組
- 4. 如何promisify一個不包含回調參數的函數?
- 5. 如何從一個包含的表中返回一個sum()?
- 6. 從包含閉包的Swift函數返回一個值
- 7. 函數不返回列表
- 8. 如何返回一個表freom函數?
- 9. jQuery:一個包含ajax()函數的函數不會返回ajax()響應
- 10. 函數獲取一個列表並返回一個只包含原始元素的列表?
- 11. JS函數返回一個包含對象的數組
- 12. 從函數內返回一個列表
- 13. 函數返回一個通用列表
- 14. 如何防止這個clojure函數返回一個列表
- 15. 函數返回一個表
- 16. 如何返回一個數組列表?
- 17. NerdDinner示例的Dinner.GetRuleViolations函數如何返回一個列表?
- 18. Excel/VBA - 如何創建一個返回列表的函數
- 19. SQL函數返回一個包含INSERT的值
- 20. 包含進程的函數返回一個亂碼值
- 21. 的$()函數返回一個包含選擇
- 22. Python - 返回僅包含整數的lst中的列表列表?
- 23. 從列表中返回元素不包含到另一個列表
- 24. 返回一個包含元組元素的列表
- 25. Scheme返回一個包含其前半部分的列表
- 26. 返回一個包含WCF服務列表成員的對象
- 27. OCaml的 - 返回一個包含該列表
- 28. Python - 函數有一個列表作爲參數。如何返回另一個列表而不更改第一個?
- 29. 如何從包含字符串和整數Python列表返回
- 30. 當表只包含一行時,StDev()函數返回Null
你的意思是返回它作爲一個字符串?像'[type1,type2,type3]'? – Linuxios
是的。就像一個字符串,沒有「」或「」 – user3297266
如果你的意思是「喜歡」一個字符串,請參閱@ Martin的答案。如果你的意思是一個字符串,像'「[%s]」%','。join(a)'就可以做到。 – Linuxios