当前位置:首页 » 编程语言 » pythonlist相等

pythonlist相等

发布时间: 2022-08-24 04:02:30

① 如何对list进行python

对List进行排序,Python提供了两个方法

---sort----
方法1.用List的内建函数list.sort进行排序

list.sort(func=None, key=None, reverse=False)
方法2.用序列类型函数sorted(list)进行排序(从2.4开始)

Python代码
>>> list = [2,5,1]
>>> list
[2, 5, 1]
>>> sorted(list)
[1, 2, 5]
>>> list
[2, 5, 1]
>>> list.sort()
>>> list
[1, 2, 5]

sorted(list)返回一个对象,可以用作表达式。原来的list不变,生成一个新的排好序的list对象。

list.sort() 不会返回对象,改变原有的list。

---reverse---

这两种方法使用起来差不多,以第一种为例进行讲解:
从Python2.4开始,sort方法有了三个可选的参数,Python Library Reference里是这样描述的
cmp:cmp specifies a custom comparison function of two arguments
(iterable elements) which should return a negative, zero or positive
number depending on whether the first argument is considered smaller
than, equal to, or larger than the second argument:
"cmp=lambda x,y: cmp(x.lower(), y.lower())"
key:key specifies a function of one argument that is used to extract a comparison key from each list element: "key=str.lower"
reverse:reverse is a boolean value. If set to True, then the list
elements are sorted as if each comparison were reversed.In general, the
key and reverse conversion processes are much faster than specifying an
equivalent cmp function. This is because cmp is called multiple times
for each list element while key and reverse touch each element only
once.

以下是sort的具体实例。

实例1:
>>>L = [2,3,1,4]
>>>L.sort()
>>>L
>>>[1,2,3,4]
实例2:
>>>L = [2,3,1,4]
>>>L.sort(reverse=True)
>>>L
>>>[4,3,2,1]
实例3:对第二个关键字排序
>>>L = [('b',6),('a',1),('c',3),('d',4)]
>>>L.sort(lambda x,y:cmp(x[1],y[1]))
>>>L
>>>[('a', 1), ('c', 3), ('d', 4), ('b', 6)]
实例4:
对第二个关键字排序
>>>L = [('b',6),('a',1),('c',3),('d',4)]
>>>L.sort(key=lambda x:x[1])
>>>L
>>>[('a', 1), ('c', 3), ('d', 4), ('b', 6)]
实例5:
对第二个关键字排序
>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>import operator
>>>L.sort(key=operator.itemgetter(1))
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
实例6:(DSU方法:Decorate-Sort-Undercorate)
>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>A = [(x[1],i,x) for i,x in enumerate(L)] #i can confirm the stable sort
>>>A.sort()
>>>L = [s[2] for s in A]
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
以上给出了6中对List排序的方法,其中实例3.4.5.6能起到对以List item中的某一项
为比较关键字进行排序.
效率比较:
cmp < DSU < key
通过实验比较,方法3比方法6要慢,方法6比方法4要慢,方法4和方法5基本相当
多关键字比较排序:
实例7:
>>>L = [('d',2),('a',4),('b',3),('c',2)]
>>> L.sort(key=lambda x:x[1])
>>> L
>>>[('d', 2), ('c', 2), ('b', 3), ('a', 4)]
我们看到,此时排序过的L是仅仅按照第二个关键字来排的,

如果我们想用第二个关键字排过序后再用第一个关键字进行排序呢?有两种方法
实例8:
>>> L = [('d',2),('a',4),('b',3),('c',2)]
>>> L.sort(key=lambda x:(x[1],x[0]))
>>> L
>>>[('c', 2), ('d', 2), ('b', 3), ('a', 4)]
实例9:
>>> L = [('d',2),('a',4),('b',3),('c',2)]
>>> L.sort(key=operator.itemgetter(1,0))
>>> L
>>>[('c', 2), ('d', 2), ('b', 3), ('a', 4)]
为什么实例8能够工作呢?原因在于tuple是的比较从左到右比较的,比较完第一个,如果
相等,比较第二个

② python 怎么判断两个list 一样

# 如果是简单对象的话,使用集合list1 = [1,3,5,4,3,5,7]list2 = [2,3,4,5,3,4,5,6,7]print set(list1) & set(list2) # set([3, 4, 5, 7])# 复杂对象的话这种方法不适用, 需要自己写

③ python 如何判断两个list是否相等

list1=[1,2,3,4]
list2=[2,3,4]
if list1 ==list2:
print('相同')
else:
print('不相等')

④ python list 元素为什么相同

python list 元素为什么相同
可以对第二个list的元素进行遍历,检查是否出现在第二个list当中,如果使用表理解,可以使用一行代码完成任务。

list1 = [1,2,3,4,5]
list2 = [4,5,6,7,8]
print [l for l in list1 if l in list2]
# [4,5]
如果每一个列表中均没有重复的元素,那么还有另外一种更好的办法。首先把两个list转换成set,然后对两个set取交集,即可得到两个list的重复元素。

set1 = set(list1)
set2 = set(list2)
print set1 & set 2
# {4,5}

⑤ python两个list元素的相同项

list1 = [1,2,3] list2=[2,3,4]set1 = set(list1)set2 = set(list2)print(set1&set2){2, 3}print(set1^set2){1, 4}

⑥ Python list 多个元素的列表,如何进行比较呢

从第一个元素顺序开始比较,如果相等,则继续
返回第一个不相等元素比较的结果
如果所有元素比较均相等,则长的列表大,一样长则两列表相等

⑦ python 判断列表内容与字符串是否相等(中文编码问题)

你用的应该不是python3吧,麻烦你告诉我你用的python的版本
不好意思,不过我要说,你说
s.attrib.get('dirname')==dirname
怎么着也检测不出来 是什么意思,是指这个判断总是为False吗?

还有,冒昧的问一下,
你前提那里
第二行,
dirname=''.join(list_full_filename[len_input_dir]) 内容等于“文件1”
意思是说dirname变量等于“文件1”吗?

第三行,
s.attrib.get('dirname')=“文件1” 内容也等于“文件1”
意思是s.attrib.get('dirname')的值是“文件1”是吧??
不过你这里的s是什么呢????

要我说,从下面两句
print isinstance(s.attrib.get('dirname'),str) true
print isinstance(dirname,str) false
就可以知道:
s.attrib.get('dirname')==dirname
必然返回False的。应为他们的类型甚至都不一样。
你可以这样用:
unicode(s.attrib.get('dirname'))==dirname
不过先请告诉我你用的python的版本吧。不同版本的python对字符串的处理方法不一样的。

我知道我肯能还没回答的很好,不过由于你问的问题我不是太理解,所以请你在追问,把问题描述的清楚一些。

⑧ python两个长度相等的list元素合并

1.简介:Python 中 list 的合并操作

2.所需工具/原料: python2.7

3.方法:

l1=['L','O','L']
l2=['lu','a','lu']
#将两个list合二为一
l1+l2(或l1.extend(l2))
#运行结果:
['L','O','L','lu','a','lu']
#将两个list捆绑
zip(l1,l2)
#运行结果:
[('L','lu'),('O','a'),('L','lu')]
#将两个list合为一个dict
dict(zip(l1,l2))
#运行结果:
{'L':'lu','O':'a'}

4.注意事项: Python中的很多函数方法都是可以'跨界'活用的,如果你只从list的函数方法中找解,这个问题就十分棘手

⑨ python 寻找两个list 相同的元素

list1= ['0+1998', '1+1998', '2+1998', '3+1998']
list2 = ['1+1998', '2+1998']
list3 = [1 if i in list2 else 0 for i in list1]
print(list3)

热点内容
安卓手机怎么加速进程 发布:2025-01-18 07:29:48 浏览:681
塞恩拐弯脚本 发布:2025-01-18 07:29:37 浏览:742
师资配置含哪些内容 发布:2025-01-18 07:17:35 浏览:706
江西脚本 发布:2025-01-18 07:14:38 浏览:392
php中i方法 发布:2025-01-18 07:13:19 浏览:369
FTP宝塔Linux面板 发布:2025-01-18 07:10:05 浏览:396
无线网卡怎么改密码 发布:2025-01-18 06:54:41 浏览:766
ava动态编译 发布:2025-01-18 06:54:39 浏览:765
中国学位论文全文数据库 发布:2025-01-18 06:43:49 浏览:689
全局变量存储类别 发布:2025-01-18 06:39:29 浏览:424