Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在元组中连接字符串?_Python_String_List_Tuples - Fatal编程技术网

Python 如何在元组中连接字符串?

Python 如何在元组中连接字符串?,python,string,list,tuples,Python,String,List,Tuples,当数字相等时字符串将连接到单个列表中 input:[("xyz",100),("tao",90),("quinee",100)] 我能做到 output:[(["xyz","quinee"],100),(["tao"],90)] 您可以使用defaultdict: from itertools import groupby def key(x): return x[1] input=[("xyz",100),("tao",90),("quinee",100)] output = [

数字相等时字符串将连接到单个列表中

input:[("xyz",100),("tao",90),("quinee",100)]
我能做到

 output:[(["xyz","quinee"],100),(["tao"],90)]

您可以使用
defaultdict

from itertools import groupby

def key(x): return x[1]

input=[("xyz",100),("tao",90),("quinee",100)]

output = [
    (list(string for string,index in group),index)
    for index,group in groupby(sorted(input, key=key, reverse=True), key=key)]

assert output ==  [(["xyz","quinee"],100),(["tao"],90)]

尝试使用默认值为列表的defaultdict:

from collections import defaultdict

l = [("xyz",100),("tao",90),("quinee",100)]

d = defaultdict(list)
for i in l:
    d[i[1]].append(i[0])

r = [(j, i) for i, j in d.items()]
print(r)
# [(['tao'], 90), (['xyz', 'quinee'], 100)]

你试过什么了吗?看起来你想让我们为你写些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是包括您迄今为止编写的代码、示例输入(如果有)、预期输出和实际获得的输出(控制台输出、回溯等)。你提供的细节越多,你可能得到的答案就越多。检查和。
from collections import defaultdict

def concat(lst):
    d = defaultdict(list)
    for k, v in lst:
        d[v].append(k)
    return [(v, k) for k, v in d.items()]