在这篇文章中,我们将带领您了解连接两个列表-'+='和extend()之间的区别的全貌,包括两个列表可以连接成一个列表的相关情况。同时,我们还将为您介绍有关android–putExtra()和set
在这篇文章中,我们将带领您了解连接两个列表 - '+=' 和 extend() 之间的区别的全貌,包括两个列表可以连接成一个列表的相关情况。同时,我们还将为您介绍有关android – putExtra()和setData()之间的区别、android – setText()和append()之间的区别、android:text =“@ string”和android:text =“…”之间的区别、Bash – 两个列表之间的区别的知识,以帮助您更好地理解这个主题。
本文目录一览:- 连接两个列表 - '+=' 和 extend() 之间的区别(两个列表可以连接成一个列表)
- android – putExtra()和setData()之间的区别
- android – setText()和append()之间的区别
- android:text =“@ string”和android:text =“…”之间的区别
- Bash – 两个列表之间的区别
连接两个列表 - '+=' 和 extend() 之间的区别(两个列表可以连接成一个列表)
我已经看到实际上有两种(也许更多)在 Python 中连接列表的方法:
一种方法是使用extend()
方法:
a = [1, 2]b = [2, 3]b.extend(a)
另一个使用加号 (+) 运算符:
b += a
现在我想知道:这两个选项中的哪一个是进行列表连接的“pythonic”方式,两者之间有区别吗?(我查阅了官方的 Python
教程,但找不到任何关于这个主题的内容)。
答案1
小编典典字节码级别的唯一区别是该.extend
方式涉及函数调用,这在
Python
中比INPLACE_ADD
.
除非您执行此操作数十亿次,否则您真的不必担心。然而,瓶颈很可能在其他地方。
android – putExtra()和setData()之间的区别
还有一个以前的问题 Intent.setData vs Intent.putExtra,但仍然不清楚.
提前致谢.
解决方法
设置此意图正在运行的数据.此方法自动清除以前由setType(String)或setTypeAndnormalize(String)设置的任何类型.
注意:Android框架中的方案匹配是区分大小写的,与正式的RFC不同.因此,您应该始终使用小写方案写Uri,或者使用normalizeScheme()或setDataAndnormalize(Uri)来确保该方案转换为小写.
参数
data: The Uri of the data this intent is Now targeting.
意图用于向Android系统发出特定事件的信号.意图通常描述应该执行的操作,并提供应该执行此类操作的数据.例如,您的应用程序可以通过意图启动特定URL的浏览器组件.这通过以下示例来证明.
String url = "http://www.google.com"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i);
但是Android系统如何识别可以对某种意图做出反应的组件?
为此,使用意图过滤器的概念.意图过滤器指定活动,服务或广播接收者可以响应的意图的类型.因此,它声明了组件的功能.
Android组件在AndroidManifest.xml中静态注册意图过滤器,也可以通过代码动态地注册广播接收器.意图过滤器由其类别,操作和数据过滤器定义.它还可以包含其他元数据.
如果意图发送到Android系统,Android平台将使用Intent对象中包含的数据运行接收器确定.在此,它确定了为意图数据注册的组件.如果几个组件已经注册了相同的意图过滤器,用户可以决定应该启动哪个组件.
putExtra()
将扩展数据添加到意图.
参数:
name: The name of the extra data.
value: The String array data value.
返回同一个Intent对象,用于将多个调用链接到单个语句中.
android – setText()和append()之间的区别
我很好奇setText()和append()正在创建的差异.我正在写一个带行号的非常基本的编辑器.我有一个TextView来保存左边的行号,与右边的EditText配对来保存数据.这是XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top">
<TextView
android:id="@+id/line_numbers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="0dip"
android:gravity="top"
android:textSize="14sp"
android:textColor="#000000"
android:typeface="monospace"
android:paddingLeft="0dp"/>
<EditText
android:id="@+id/editor"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="text|textMultiLine|textNoSuggestions"
android:imeOptions="actionNone"
android:gravity="top"
android:textSize="14sp"
android:textColor="#000000"
android:typeface="monospace"/>
</LinearLayout>
忽略我正在做的其他一些事情,我遇到的最奇怪的事情是当我使用append()时出现的额外间距(假设已经初始化了所有这些).
下面结合XML,在TextView和EditText之间设置一个刷新边框.
theEditor = (EditText) findViewById(R.id.editor);
lineNumbers = (TextView) findViewById(R.id.line_numbers);
theLineCount = theEditor.getLineCount();
lineNumbers.setText(String.valueOf(theLineCount)+"\n");
但是,最后一行更改为此,并且突然显示TextView中的每一行在EditText之前的右侧都有填充.
lineNumbers.append(String.valueOf(theLineCount)+"\n");
这不是世界末日.但我很好奇是什么导致了这种行为.因为我是这门语言的新手,所以我唯一能想到的就是,当追加将可编辑放在那里时,它会添加填充.如果我能得到答案,我可以用更简单的附加替换所有这些讨厌的行:
lineNumbers.setText(lineNumbers.getText().toString()+String.valueOf(newLineCount)+"\n");
解决方法:
我认为通过append方法将BufferType更改为EDITABLE会导致意外的填充.
如果要使用append方法而不是setText方法并删除该填充,
您可以尝试使用删除它
textView.setincludeFontPadding(false)
或者将此行添加到xml文件中的textview
android:includeFontPadding="false"
希望这可以帮助.
android:text =“@ string”和android:text =“…”之间的区别
android:text =“@ string / ….”和android:text =“…”?我在想,也许屏幕上显示的文字可以选择使用@ string.Which最好一般使用还是真的没关系?
解决方法
Bash – 两个列表之间的区别
/tmp/oldList /tmp/newList
我需要比较这些列表,看看添加了哪些行,删除了哪些行.
然后,我需要循环遍历这些行,并根据是添加还是删除对它们执行操作.如何在bash中执行此操作?
comm可以组合标志-1,-2和-3,指示哪个文件抑制行(文件1唯一,文件2唯一或两者共同).
只能在旧文件中获取行:
comm -23 <(sort /tmp/oldList) <(sort /tmp/newList)
仅在新文件中获取行:
comm -13 <(sort /tmp/oldList) <(sort /tmp/newList)
您可以将它们加载到一段读取循环中以处理每行:
while read old ; do ...do stuff with $old done < <(comm -23 <(sort /tmp/oldList) <(sort /tmp/newList))
对于新行也是如此.
今天关于连接两个列表 - '+=' 和 extend() 之间的区别和两个列表可以连接成一个列表的介绍到此结束,谢谢您的阅读,有关android – putExtra()和setData()之间的区别、android – setText()和append()之间的区别、android:text =“@ string”和android:text =“…”之间的区别、Bash – 两个列表之间的区别等更多相关知识的信息可以在本站进行查询。
本文标签: