l=[8,2,3,0,7]
def _sum(given_list) :
s="+".join(given_list)
return s
print(_sum(l))
这会产生错误
答案 0 :(得分:4)
阅读文档:str.join
返回一个字符串,该字符串是可迭代的字符串的串联。如果可迭代项中有任何非字符串值(包括字节对象),则会引发 TypeError (类型错误)。元素之间的分隔符是提供此方法的字符串。
并阅读@UltraInstinct need __str__
答案 1 :(得分:0)
from collections import Counter
from itertools import combinations, chain
raw_pairs = ['BCH/BTC', 'BCH/ETH', 'DASH/USD', 'BTC/USDT', 'ETH/BTC']
def parse_pair(raw_pair):
return raw_pair.split('/')
def is_trair(trair_candidate):
# assuming that all currencies appear twice means we have a trair
currency_counts = Counter(chain.from_iterable(trair_candidate))
return set(currency_counts.values()) == {2}
pairs = map(parse_pair, raw_pairs)
trair_candidates = combinations(pairs, r=3)
# filter the actual trairs from all trair_candidates
trairs = filter(is_trair, trair_candidates)
print(list(trairs))
方法连接一个字符串列表,并且您要向其传递一个整数列表。
在将它们传递到str.join
之前,应将它们转换为字符串列表。
str.join
这将输出:
l=[8,2,3,0,7]
def _sum(given_list) :
s="+".join(map(str, given_list))
return s
print(_sum(l))