我试图获取列表中每个列表的频率。 以下是我的代码
my_list=[1,2,3]
此代码适用于数字列表,即ctr[[1,2,3]]
。但是对于列表列表它不起作用。
2
应打印 TypeError: unhashable type: 'list'
,但错误如下
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=""
tools:layout_editor_absoluteY="81dp">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="opening game"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<NumberPicker
android:id="@+id/numberPicker2"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="14dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toTopOf="@+id/GameTitleET"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
<EditText
android:id="@+id/GameTitleET"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="153dp"
android:ems="10"
android:hint="Game's name"
android:inputType="textPersonName"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/GameContentET"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="מהלך המשחק"
android:inputType="textMultiLine"
android:maxLines="8"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/DeleteAndMakeYOurOwnButton" />
<Button
android:id="@+id/DeleteAndMakeYOurOwnButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:text="Write your own game"
app:layout_constraintStart_toStartOf="@+id/GameContentET"
app:layout_constraintTop_toBottomOf="@+id/numberPicker2" />
<Switch
android:id="@+id/SendToReviewSwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="7dp"
android:layout_marginStart="16dp"
android:text="הגש משחק להגשה"
app:layout_constraintBottom_toTopOf="@+id/DeleteAndMakeYOurOwnButton"
app:layout_constraintStart_toStartOf="parent" />
<include
android:id="@+id/include5"
layout="@layout/activity_create_post_methods"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/GameContentET" />
</android.support.constraint.ConstraintLayout></ScrollView>
有人可以帮忙吗?
答案 0 :(得分:2)
一个解决方案:
public Observable<Bitmap> fetchBitmap(String url) {
Observable<Bitmap> bitmapObservable = mGenericApiService.getBitmap(url)
.map(responseBody -> {
Bitmap.Config conf = Bitmap.Config.ARGB_8888;
Bitmap bitmap = Bitmap.createBitmap(50, 50, conf);
// Get a Canvas for the Bitmap
Canvas canvas = new Canvas(bitmap);
// Read the SVG file
SVG svg = SVGParser.getSVGFromInputStream(inputstream);
// There are other ways to read an SVG file. See the SVGParser class for the others.
// Get a Picture from the SVG and render it to the Canvas
canvas.drawPicture(SVG.getPicture());
return bitmap;
}).doOnError(getUniversalErrorHandler(mContext, mEventBus));
return bitmapObservable;
}
<强>解释强>
from collections import Counter
lst = [[1,2,3],[1,2,3]]
ctr = Counter(map(tuple, lst))
ctr[(1,2,3)]
# 2
个实例是字典,因此需要不可变
键。元组是不可变的,而列表不是。Counter
个实例接受任何可迭代的,而不仅仅是列表。答案 1 :(得分:1)
问题是Counter
创建了一个字典,你不能拥有一个类型为list
的字典。因此,当您提供列表列表时,它会失败。要解决此问题,请将内部列表转换为元组,如下所示:
from collections import Counter
my_list = [[1, 2, 3], [1, 2, 3]]
new_list = [tuple(x) for x in my_list] # or overwrite with my_list = ..
ctr = Counter(new_list)
print(ctr[(1, 2, 3)]) # -> 2