如何在python中比较两个列表?
date = "Thu Sep 16 13:14:15 CDT 2010"
sdate = "Thu Sep 16 14:14:15 CDT 2010"
dateArr = [] dateArr = date.split()
sdateArr = [] sdateArr = sdate.split()
现在我要比较这两个列表。我猜split会返回一个列表。我们可以在Java中进行简单的比较,如dateArr[i] == sdateArr[i]
,但我们怎样才能在Python中做到这一点?
答案 0 :(得分:63)
你可以随时做:
a=[1,2,3]
b=['a','b']
c=[1,2,3,4]
d=[1,2,3]
a==b #returns False
a==c #returns False
a==d #returns True
答案 1 :(得分:9)
a = ['a1','b2','c3']
b = ['a1','b2','c3']
c = ['b2','a1','c3']
# if you care about order
a == b # True
a == c # False
# if you don't care about order
set(a) == set(b) # True
set(a) == set(c) # True
通过投放a
,b
和c
作为一组,您可以删除重复项,并且订单不会计数。比较集合也比比较列表更快,更有效。
答案 2 :(得分:4)
如果您的意思是列表,请尝试==
:
l1 = [1,2,3]
l2 = [1,2,3,4]
l1 == l2 # False
如果您的意思是array
:
l1 = array('l', [1, 2, 3])
l2 = array('d', [1.0, 2.0, 3.0])
l1 == l2 # True
l2 = array('d', [1.0, 2.0, 3.0, 4.0])
l1 == l2 # False
如果你想比较字符串(根据你的评论):
date_string = u'Thu Sep 16 13:14:15 CDT 2010'
date_string2 = u'Thu Sep 16 14:14:15 CDT 2010'
date_string == date_string2 # False
答案 3 :(得分:2)
鉴于您在评论中提供的代码,我假设您要这样做:
>>> dateList = "Thu Sep 16 13:14:15 CDT 2010".split()
>>> sdateList = "Thu Sep 16 14:14:15 CDT 2010".split()
>>> dateList == sdataList
false
字符串的split
- 方法返回一个列表。 Python中的列表与数组非常不同。在这种情况下,==
对两个列表进行逐元素比较,并返回它们的所有元素是否相等以及元素的数量和顺序是否相同。阅读documentation。
答案 4 :(得分:1)
try
{
string url = GlobalVariables.ServiceUrl + "Buyer/Order/CreateBuyer?sellerUserName=" + System.Uri.EscapeDataString(GlobalVariables.SellerUsername);
HttpClient client = new HttpClient();
string jsonData = JsonConvert.SerializeObject(data);
StringContent content = new StringContent(jsonData, Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.PostAsync(url, content);
string result = await response.Content.ReadAsStringAsync();
Response responseData = JsonConvert.DeserializeObject<Response>(result);
if (responseData.Status == 0)
{
// DependencyService.Get<IFClass>().ShortAlert("Buyer Sync Failed.");
}
else
{
DependencyService.Get<ISQLite>().CreatedDeleteBuyersFromLocal(data.Id);
}
}
catch (Exception ex)
{
}
答案 5 :(得分:0)
从您的帖子中我收集到您要比较日期,而不是数组。如果是这种情况,则使用适当的对象:datetime
对象。
请查看datetime module的文档。日期是一个艰难的饼干。使用可靠的算法。