【Python 元组(Tuple)】教程文章相关的互联网学习教程文章

python使用元组替换列表值【代码】

如果我有一个清单:my_list = [3,2,2,3,4,1,3,4]和一个元组my_tuple = (3,5)使用元组替换my_list中元素的最佳方法是什么:result = [5,2,2,5,4,1,5,4]例如for item in my_list:if(item == my_tuple[0]):item = my_tuple[1]更一般地说,我会有一个列表列表和一个元组列表,我想将每个元组应用于列表列表中的每个列表.解决方法:my_tuple更自然的数据结构是字典.考虑这样的事情并使用.get()方法:>>> my_lists = [[3,2,2,3,4,1,3,4], [1...

Python字符串神奇地转换为元组.为什么?【代码】

我有一个dict,其中我加载了一些信息,其中一个名称是一个普通的字符串.但不知何故,当我将它分配给dict中的一个键时,它会转换为一个元组,我不知道为什么. 这是我的一些代码:sentTo = str(sentTo) print type(sentTo), sentTo ticketJson['sentTo'] = sentTo, print type(ticketJson['sentTo']), ticketJson['sentTo']在我的终端输出以下内容:<type 'str'> Pete Chasin <type 'tuple'> ('Pete Chasin',)为什么将它分配给dict会将其转...

python – 访问元组列表【代码】

我有一个包含几个元组的列表,如:[('a_key', 'a value'), ('another_key', 'another value')]其中第一个元组值充当字典键.我现在正在寻找一种类似python的方式来访问键/值对,例如: “mylist.a_key”或“mylist [‘a_key’]” 没有迭代列表.有任何想法吗?解决方法:没有任何迭代,你不能这样做.您将需要迭代将其转换为dict,此时密钥访问将变为可能无法迭代,或者您将需要针对每个密钥访问迭代它.转换为dict似乎是更好的主意 – 从长远...

python – 从方法返回元组【代码】

我正在编写一个方法,该方法在成功时返回元组,但在失败时返回None.我还没有最终确定无(作为失败案例返回)但它是其中一个选择.我们可以为失败案例返回-1,-1吗?我正在寻找最好的pythonic方法来实现这一点,以便拆包很容易. 请告诉我们如何改进它.伪代码如下def myFunc(self):if self.validate() != 0:returnx,y = self.getXY()return x,y解决方法:如果出现故障,为什么不提出异常? 你当然可以将(-1,-1)作为失败返回,但在我看来这不是一...

python – TypeError:只能将元组(不是“str”)连接到元组错误【代码】

只是试图让一个元组添加到我的主要编程.无论如何这是我的代码 – print"I have a few things to finish my exam, but i might need more" exam=("Brain","Computer","python") print "The stuff i have are:" for stuff in exam:print stuff print"I still need my previous assignments!" extra=("Assignments") exam += extra for stuff in exam:print stuff我一直得到的只能连接元组错误.任何人都有一个线索我的问题/如何解决它...

python – 与变量不同的计数列表/元组元素?【代码】

我有列表或/和元组:MyVar = [0,0,0,0,1,0,0,0,0]我想要计算与0不同的元素. 怎么做?解决方法:您可以对条件生成器表达式进行求和,该表达式不需要任何中间列表或不必要的算术运算:>>> sum(1 for element in MyVar if element != 0) 1或者如@ Jean-FranoisFabre所指出的那样:>>> sum(1 for element in MyVar if element) 1如果MyVar仅包含数字,则计算非零值的数量.

python – 给定一个元组列表,返回元组的第一个值的新列表【代码】

我有一个元组列表,我想要一个由元组的第一个值组成的新列表. 即如果列表是: [(1,5),(4,10),(100,3),(4,8)] 我想创建以下列表: [1,4,100,4] 以下代码有效:a = [(1,5),(4,10),(100,3),(4,8)] l = [] for i in range(len(a)):l.append(a[i][0])但似乎应该有更好的方法,例如:l = itertools.chain(for i in range(len(a)) a[i][0]) #This won't work解决方法:如何列表理解:l=[(1,5),(4,10),(100,3),(4,8)] print [x[0] for x in l]...

如何检查Python列表中是否存在元组?【代码】

我是Python新手,我试图检查列表中是否存在一对[a,b] l = [[a,b],[c,d],[d,e]].我搜索了很多问题,但找不到精确的解决方案.请有人能告诉我正确和最短的做法吗? 当我跑:a=[['1','2'],['1','3']] for i in range(3):for j in range(3):if [i,j] in a:print a输出是空白的 那怎么实现呢?解决方法:代码不起作用,因为’1’!= 1,因此,[‘1′,’2’]!= [1,2]如果您希望它工作,请尝试:a=[['1','2'],['1','3']] for i in range(3):for j...

在Python中使用顺序重要的元组?【代码】

我有:tuple1 = token1, token2 tuple2 = token2, token1 for tuple in [tuple1, tuple2]:if tuple in dict:dict[tuple] += 1else:dict[tuple] = 1但是,元组1和元组2都得到相同的计数.什么是一种方法来散列一组2件事,这样的秩序很重要?解决方法:散列时会考虑订单:>>> hash((1,2)) 1299869600 >>> hash((2,1)) 1499606158这假定对象本身具有唯一的哈希值.即使它们不这样做,在字典中使用它时仍然可以正常(只要对象本身与__eq__方法...

Python:count直到列表中的元素是一个元组【代码】

我有一个这样的列表:MyList = [2,3,(1,2),5]其中元素0,1和3是整数,而元素2是元组.我想创建一个计数器,告诉我在元组出现之前列表中有多少元素.在这个例子中,我想要一个计数器,它将取值2(2个元素,2和3,在第一个元组之前).我尝试过以下方法:counter = 0 while MyList[counter] is not tuple: counter = counter + 1但它不起作用,因为当它评估语句“(1,2)不是元组”而不是提高False时它继续取值True.知道问题可能是什么以及如何解决问...

为什么Python在特定情况下使用百分比运算符支持元组和字典格式?【代码】

这个输入:'%s %(?)s' % {'?': 'a'}结果输出:"{'?': 'a'} a"它将源字符串中基于元组和基于字典的占位符替换为您单独使用其中任何一个时所期望的值. 但是,如果您反转字符串中占位符的位置,则会出现TypeError:In [2]: '%(?)s %s' % {'?': 'a'} --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-2-7989b...

Python元组:不使用for循环进行比较和合并【代码】

我有两个超过100,000个元组的列表.第一个元组列表中有两个字符串,后者有五个字符串.第一个列表中的每个元组都有一个元组,在另一个列表中有一个共同的值.例如tuple1 = [('a','1'), ('b','2'), ('c','3')] tuple2 = [('$$$','a','222','###','HHH'), ('ASA','b','QWER','TY','GFD'), ('aS','3','dsfs','sfs','sfs')] 我有一个功能,可以删除多余的元组值,并匹配重要的信息:def match_comment_and_thread_data(tuple1, tuple2):i = 0o...

python元组字典集合类型及其内置方法(下)【代码】

列表补充 补充方法清空列表 clear# clear 清空列表 l = [1, 2, 3, 4, 4] print(l.clear()) # clear没有返回值(None) print(l) # None # []  统计列表中指定元素出现的次数 count# count 统计一个元素在列表中出现了几次 l = [1, 2, 3, 4, 4] print(l.count(4)) # 2  列表反向、排序 reverse sort(带参数,可指定按正序/ 反序排)# reverse 将列表翻转 l = [1, 2, 3, 4, 4, 2] print(l.reverse()) # reverse没有返回值...

python – 生成无限序列的有序元组【代码】

我有两个生成器genA和genB,它们每个都生成一个无限的,严格单调递增的整数序列. 现在我需要一个生成所有元组(a,b)的生成器,使得a由genA生成,b由genB生成,并且< b,按b递增排序.在模糊性的情况下,排序并不重要,即如果b == c d,则首先生成(a,b)或首先生成(c,d)无关紧要.例如.如果genA和genB都生成素数,则新生成器应生成: (2, 3), (2, 5), (3, 5), (2, 7), (3, 7), (5, 7), (2, 11), ...如果genA和genB是有限列表,则压缩然后排序就可以...

python – Pylint警告:可能不平衡的元组用序列解包【代码】

我有一段Python代码:def func1(): a=set()b = ','.join(map(str, list(a)))return b, []def func2():d = 1e = 2return func1() + (d, e,)def main():a,b,c,d = func2()if __name__ == '__main__':main()当我通过pylint(1.4.0)运行它时,我收到警告:W: 12, 4: Possible unbalanced tuple unpacking with sequ...