草庐IT

四元组

全部标签

python - 将长元组拆分为较小的元组

我有一个很长的元组(2,2,10,10,344,344,45,43,2,2,10,10,12,8,2,10)我正试图把它分成一个元组的元组,比如((2,2,10,10),(344,344,45,43),(2,2,10,10),(12,8,2,10))我是python新手,不太擅长元组o(2,2,10,10,344,344,45,43,2,2,10,10,12,8,2,10)r列出。我的friend说我应该拆分它,但我就是不能接受-_-我需要将元组拆分为包含4个元素的元组,稍后我将使用矩形通过PIL绘制到图像。 最佳答案 好吧,有一个

python - 是否可以在不使用变量的情况下解压元组?

我在程序的路径上使用os.path.split()函数来获取文件的文件名和路径名,然后将它们传递给另一个方法,但我当前的解决方案看起来相当丑陋:path=os.path.split(somefile)some_class(path[0],path[1])是否可以在对some_class的调用中以更清晰的方式解压缩路径元组?像这样的东西:some_class(os.path.split(somefile).unpack())或者我应该换一种方式来解决这个问题?也许是一种更像Python的方式? 最佳答案 是的,Python有argum

python - 命名元组如何在 python 内部实现?

命名元组是易于创建的轻量级对象类型。namedtuple实例可以使用类对象变量引用或标准元组语法来引用。如果这些数据结构可以通过对象引用和索引访问,它们是如何在内部实现的?是通过哈希表吗? 最佳答案 实际上,很容易找出给定的namedtuple是如何实现的:如果在创建它时传递关键字参数verbose=True,它的类定义就会被打印出来:>>>Point=namedtuple('Point',"xy",verbose=True)frombuiltinsimportpropertyas_property,tupleas_tuplefro

python - 从列表中获取唯一元组,Python

>>>a=('one','a')>>>b=('two','b')>>>c=('three','a')>>>l=[a,b,c]>>>l[('one','a'),('two','b'),('three','a')]我如何才能只检查此列表中具有唯一第二个条目(列?项目?)的元素,然后获取在列表中找到的第一个条目。期望的输出是>>>l[('one','a'),('two','b')] 最佳答案 使用集合(如果第二项是可散列的):>>>lis=[('one','a'),('two','b'),('three','a')]>>>seen=set

python - 在元组列表中使用二分法?

我想弄清楚如何在元组列表中使用二分法例如[(3,1),(2,2),(5,6)]如何根据每个元组中的[1]将此列表平分?list_dict[(69,8),(70,8),((65,67),6)]tup1,tup2(69,8)(70,8)list_dict[((65,67),6)]fst,snd((65,67),)(6,)我要插入以平分idx=bisect.bisect(fst,tup1[1]+tup2[1])这给了我unorderabletypes:int() 最佳答案 在某些情况下只是简单的bisect(list_of_tuples,

python - 如何按反向排序元组,但不反向打破关系? (Python)

这个问题在这里已经有了答案:Howtosortalistwithtwokeysbutoneinreverseorder?(7个答案)关闭2个月前。如果我有一个元组列表:results=[('10','Mary'),('9','John'),('10','George'),('9','Frank'),('9','Adam')]我如何才能像您在记分牌中看到的那样对列表进行排序-以便它将分数从大到小排序,但按名称的字母顺序打破平局?所以在排序之后,列表应该是这样的:results=[('10','George'),('10','Mary'),('9','Adam'),('9','Frank'

python - 为什么元组大于相似列表?

这个问题在这里已经有了答案:Whyistuplelargerthanalistinpython?(5个答案)关闭8年前。下一个元组比列表大有什么原因吗?>>>t=(1,2,3)>>>l=[1,2,3]>>>t>lTrue>>>t

python - 从 python 中的元组的元组中获取元素

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Tuplevaluebykey如何通过代码找到国家/地区名称,COUNTRIES=(('AF',_(u'Afghanistan')),('AX',_(u'\xc5landIslands')),('AL',_(u'Albania')),('DZ',_(u'Algeria')),('AS',_(u'AmericanSamoa')),('AD',_(u'Andorra')),('AO',_(u'Angola')),('AI',_(u'Anguilla')))我有代码AS,在COUNTRIES元组上不使用forloo

python - 按元素添加两个元组

我只是想知道是否有一种特别pythonic的方式来按元素添加两个元组?到目前为止(a和b是元组),我有map(sum,zip(a,b))我的预期输出是:(a[0]+b[0],a[1]+b[1],...)并且可能的称量是给a0.5重量和b0.5重量,等等。(我正在尝试取加权平均值)。效果很好,但如果我想添加权重,我不太确定该怎么做。谢谢 最佳答案 压缩它们,然后对每个元组求和。[sum(x)forxinzip(a,b)]编辑:这是一个更好但更复杂的版本,它允许加权。fromitertoolsimportstarmap,islice,i

python - 如何以原始语言(不是 u'foo' 形式)打印 unicode 字符串的元组

我有一个unicode对象的元组列表:>>>t=[('亀',),('犬',)]打印出来,我得到:>>>printt[('\xe4\xba\x80',),('\xe7\x8a\xac',)]我猜这是这些字符串的utf-8字节码表示的列表?但我想看到打印出来的是,惊喜:[('亀',),('犬',)]但是我在将字节码恢复为人类可读的形式时遇到了很多麻烦。 最佳答案 butwhatIwanttoseeprintedoutis,surprise:[('亀',),('犬',)]您想在什么地方打印出来?因为如果是控制台,则完全不能保证您的控制台可