我为人们制作了一本词典。这样的名字:
names = {"first": , "second": , "third":}
我想要做的是调用每个名称并将它们组合成一个字符串,用加号分隔。以下是一种繁琐的方式:
str(names["first"]) + "+" + str(names["second"]) + "+" + str(names["third"])
此行来自我正在尝试创建的较大模块。为了简单起见,我试图遵循,但导致语法错误:
str(names["first"] "%+d" + names["second"] "%+d" + names["third"])
有没有办法简化上述内容以便打印:
姓名+ secondname + thirdname
答案 0 :(得分:2)
在python 2中你必须使用稍微hacky
`
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/back1"
android:orientation="vertical">
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_weight="0.00"
android:background="@drawable/box"
android:gravity="center_vertical"
android:text="Enter Covers and Guest Type"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/et_covers"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="35dp"
android:fontFamily="sans-serif"
android:hint="Covers"
android:inputType="number" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="30dp"
android:fontFamily="sans-serif"
android:text="Staying Guest...?"
android:textAppearance="?android:attr/textAppearanceMedium" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp" >
<CheckBox
android:id="@+id/checkYes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:text="YES" />
<CheckBox
android:id="@+id/checkNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="75dp"
android:text="NO" />
</LinearLayout>
</LinearLayout> `
然而,正如GingerPlusPlus指出的那样,在python 3中你可以远离这个"{first}+{second}+{third}".format(**names)
诡计,而是使用format_map
**kwargs
答案 1 :(得分:1)
如果您可以使用namedtuple
代替dict
来存储名称,我建议:
'+'.join(map(str, names))