我在[(word, sym) , (word, sym)....]
形式的python中有一个元组列表。
我们假设该符号为A
或B
。我想返回列表中包含两个元组("example", A)
和("example", B)
的所有单词。所以基本上只有一个词与BOTH A
和B
配对。我假设这可以使用列表理解来完成。我可以这样做以获得符号为A的所有单词:
[x[0] for x in self.list if x[1] == "A"]
并以类似的方式获得符号为B的单词列表但是,我不确定如何比较这两个列表。
我会简单地使用if word in listA and word in listB
吗?
答案 0 :(得分:1)
假设顺序不重要,这是override func viewDidLoad() {
super.viewDidLoad()
self.friendstable.rowHeight = 150.0
friendstable.allowsSelection = false
self.friendstable.dataSource = self
self.friendstable.delegate = self
self.friendstable.registerNib(UINib(nibName:"YOUR_NIB_FILE_NAME", bundle:nil), forCellReuseIdentifier:"friendcell")
// Do any additional setup after loading the view.
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell : UITableViewCell= tableView.dequeueReusableCellWithIdentifier("friendcell", forIndexPath: indexPath)
cell.textLabel?.text = titleofsong[indexPath.row]
cell.detailTextLabel?.text = artist[indexPath.row]
cell.textLabel?.font = UIFont(name: "Lombok", size: 22)
cell.textLabel?.textColor = UIColorFromRGB("4A90E2")
cell.detailTextLabel?.font = UIFont(name: "Lombok", size: 16)
cell.detailTextLabel?.textColor = UIColor.blackColor()
cell.textLabel?.numberOfLines = 0;
cell.textLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
cell.backgroundColor = UIColor.clearColor()
return cell
}
交叉点的一个很好的用例:
set
然后,如果您需要测试任何给定的单词是否是常用单词,那么这是一个微不足道的setA = {word for word, sym in self.list if sym == "A"}
setB = {word for word, sym in self.list if sym == "B"}
AB_words = setA & setB # Preserves only those words found in both input sets
成员资格测试:
set