我是python的新手,我正在努力为问题寻找更好的方法。
我有一个如下列表:
[(1048, u'3', u'1', ), (1048, u'03', u'00','Deleted' ), (1048, u'4', u'0', 'Deleted')]
在每个元组中,最后一个属性可以被删除'或者'无'。我需要检查所有元组是否已删除'在最后的地方。
怎么做。
我尝试做列表理解(https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions)
object_with_specific_attribute = [dataObj for dataObj in data if "Deleted" in dataObj[3]]
但是在空数据的情况下它似乎不起作用。
有人可以帮忙吗?
提前致谢。
答案 0 :(得分:4)
all(len(tup) == 3 or tup[-1] in [None, "Deleted"] for tup in data)
从你的例子中可以推断出一些元组没有第四项,所以我添加了len
项检查。
答案 1 :(得分:3)
all(item[-1] == "Deleted" for item in items)
如果它们都包含"已删除"
,则应返回True
此外,所有元组都需要至少有4个元素。如果没有,您将收到索引错误
编辑:正如评论所示,最好按照你所说的item[-1]
:"最后一个元素"
答案 2 :(得分:0)
以下行可行。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/jms
http://www.springframework.org/schema/jms/spring-jms.xsd">
<bean id="mqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://Toshiba:61616" />
</bean>
<bean id="topic1" class="org.apache.activemq.command.ActiveMQTopic">
<property name="physicalName" value="chattopic" />
</bean>