[英]For element in list of tuples, return other element in tuple
以下是我的函數代碼,該函數搜索稱為對的元組列表。 列表中的每個元組都包含兩個元素。
函數中給定的元素(稱為item)可以位於元組的0或1位置,但是列表中的所有元組僅由2個元素組成。
pairs = [('a','b'),('c','d'),('e','f'),('c','a')]
def connections(pairs, item):
output = ''
for j in pairs:
if item in j:
output = output + str(j)
return (output)
現在,此代碼將拉出其中包含該項目的整個元組。
我想更改此代碼以僅返回元組中的另一個元素,並將其作為字符串而不是元組返回。
這應該做您想要的:
def connection(pairs, item):
return ''.join([p[1-p.index(item)] for p in pairs if item in p])
這是一些示例輸出:
>>> connection([('a','b'),('c','d'),('e','f'),('c','a')], 'a')
'bc'
而不是檢查成員身份,而是檢查是否相等。
def connections(pairs, item):
output = ''
for j in pairs:
if item == j[0]:
output += j[1]
elif item == j[1]:
output += j[0]
return output
請注意,我已經將串聯簡化為擴充分配,並刪除了不必要的str()
調用,因為它們已經是字符串了。 或者,您可以按照以下步驟進行操作:
def connections(pairs, item):
return ''.join(j[0] if item==j[1] else j[1] if item==j[0] else '' for j in pairs)
pairs = [('a','b'),('c','d'),('e','f'),('c','a')]
def connections(pairs, item):
output = ''
for j in pairs:
if item in j:
index = 1-j.index(item)
output = output + str(j[index])
return (output)
print(connections(pairs, 'c'))
輸出:
da
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.