Tôi có hai mảng
a = [ab,bc,cd]
b = [bc,ab,cd]
Tôi muốn so sánh từng phần tử của A với từng phần tử của B và sau đó tăng
counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
1 nếu chúng khớp, khác counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
2 và hiển thị counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
3counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
Tôi đang nhận được kết quả kỳ lạ, tôi mới lập trình và giúp đỡ được đánh giá cao.
Xin lỗi vì đã sao chép lỗi dán
Hỏi ngày 21 tháng 10 năm 2015 lúc 15:53Oct 21, 2015 at 15:53
IlluminatiilluminatiIlluminati
5552 Huy hiệu vàng7 Huy hiệu bạc33 Huy hiệu đồng2 gold badges7 silver badges33 bronze badges
6
Điều kiện
counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
4 của bạn giống như counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
5 của bạn, đó có lẽ là lý do tại sao nó không hoạt động cho bạn. Trong thực tế, bạn thậm chí không cần một điều kiện ở đó; Nó chỉ là một counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
6 vì bạn muốn bắt mọi thứ không phù hợp với counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
5.Điều đó nói rằng, cách này đẹp hơn nhiều:
from itertools import product
counter = sum[1 if x==y else -1 for x, y in product[a, b]]
Đã trả lời ngày 21 tháng 10 năm 2015 lúc 15:56Oct 21, 2015 at 15:56
Tzamantzamantzaman
45,7K11 Huy hiệu vàng89 Huy hiệu bạc113 Huy hiệu đồng11 gold badges89 silver badges113 bronze badges
0
Bạn có thể sử dụng các bộ:
a = ['ab','bc','cd']
b = ['bc','ab','cd']
print[len[set[a].intersection[set[b]]]]
3
Đã trả lời ngày 21 tháng 10 năm 2015 lúc 15:59Oct 21, 2015 at 15:59
LetzerwilleletzerwilleLetzerWille
5.2114 Huy hiệu vàng22 Huy hiệu bạc26 Huy hiệu đồng4 gold badges22 silver badges26 bronze badges
a = ['ab','bc','cd']
b = ['bc','ab','cd']
counter = 0
for i in a:
for j in b:
if i == j:
counter += 1
else:
counter -= 1
print counter
Đã trả lời ngày 21 tháng 10 năm 2015 lúc 16:12Oct 21, 2015 at 16:12
FomalhautfomalhautFomalhaut
7.6418 Huy hiệu vàng37 Huy hiệu bạc83 Huy hiệu đồng8 gold badges37 silver badges83 bronze badges
Chỉ là một sự thay thế ngắn và nhanh:
sum[2*b.count[x] - len[b] for x in a]
Đã trả lời ngày 21 tháng 10 năm 2015 lúc 17:09Oct 21, 2015 at 17:09
Stefan Pochmannstefan PochmannStefan Pochmann
26.5k8 Huy hiệu vàng43 Huy hiệu bạc104 Huy hiệu đồng8 gold badges43 silver badges104 bronze badges
Để so sánh từng phần tử của một mảng numpy
8 với vô hướng counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
9broadcasting feature with the array as one operand and the scalar as another operand. For example, the greater comparison counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
0 results in an
array of Boolean values from the element-wise comparisons.from itertools import product
counter = sum[1 if x==y else -1 for x, y in product[a, b]]
array > scalar
array >= scalar
array < scalar
array ], bằng nhau [> =], nhỏ hơn [nhỏ hơn [compare each element of the NumPy array
8 against the scalarcounter=0 for i in a: for j in b: if a[i-1] == b[j-1]: counter = counter + 1 elif a[i-1] != b[j-1]: counter = counter - 1 print counter
9 using any of the greater [>], greater equal [>=], smaller [x 100>x] = [False True True]counter=0 for i in a: for j in b: if a[i-1] == b[j-1]: counter = counter + 1 elif a[i-1] != b[j-1]: counter = counter - 1 print counter
Giải pháp: Phát sóng
Bạn có thể sử dụng tất cả các toán tử so sánh có giá trị vô hướng trên một mảng numpy:
- Lớn hơn:
0:from itertools import product counter = sum[1 if x==y else -1 for x, y in product[a, b]]
0from itertools import product counter = sum[1 if x==y else -1 for x, y in product[a, b]]
- Lớn hơn hoặc bằng:
6:from itertools import product counter = sum[1 if x==y else -1 for x, y in product[a, b]]
6from itertools import product counter = sum[1 if x==y else -1 for x, y in product[a, b]]
- Nhỏ hơn:
7:from itertools import product counter = sum[1 if x==y else -1 for x, y in product[a, b]]
7from itertools import product counter = sum[1 if x==y else -1 for x, y in product[a, b]]
- Nhỏ hơn hoặc bằng:
8:from itertools import product counter = sum[1 if x==y else -1 for x, y in product[a, b]]
8from itertools import product counter = sum[1 if x==y else -1 for x, y in product[a, b]]
- Bằng:
9:from itertools import product counter = sum[1 if x==y else -1 for x, y in product[a, b]]
9from itertools import product counter = sum[1 if x==y else -1 for x, y in product[a, b]]
Numpy sẽ tự động đưa cả hai toán hạng vào cùng một hình dạng [một tính năng có tên là Phát thanh truyền hình].broadcasting“].
import numpy as np # Given arr = np.array[[1, 10, 100]] x = 3 # Greater: print[arr > x] # [False True True] # Greater or equal: print[arr >= x] # [False True True] # Smaller: print[arr < x] # [ True False False] # Smaller or equal: print[arr 100 print[superstars[0]] print[superstars[2]]
Bài tập: Đầu ra của câu đố này là gì?: What is the output of this puzzle?
Bạn có thể giải câu đố này trên ứng dụng đào tạo dựa trên câu đố tương tác của chúng tôi và theo dõi các kỹ năng Python của bạn:
Numpy là một thư viện Python phổ biến cho khoa học dữ liệu tập trung vào đại số tuyến tính.
Tính năng Numpy tiện dụng sau đây sẽ chứng minh hữu ích trong suốt sự nghiệp của bạn. Bạn có thể sử dụng các toán tử so sánh trực tiếp trên các mảng numpy. Kết quả là một mảng numpy có kích thước bằng nhau với các giá trị Boolean. Mỗi boolean cho biết liệu so sánh có đánh giá là
a = ['ab','bc','cd']
b = ['bc','ab','cd']
print[len[set[a].intersection[set[b]]]]
3
0 cho giá trị tương ứng trong mảng ban đầu hay không.Câu đố tạo ra một danh sách các số nguyên. Mỗi số nguyên đại diện cho số lượng người theo dõi của các tài khoản Instagram phổ biến [tính bằng hàng triệu].
- Đầu tiên, chúng tôi chuyển đổi danh sách này thành một mảng numpy.
- Thứ hai, chúng tôi xác định cho mỗi tài khoản liệu nó có hơn 100 triệu người theo dõi hay không.
Chúng tôi in giá trị boolean thứ nhất và thứ ba của mảng kết quả. Kết quả là
a = ['ab','bc','cd']
b = ['bc','ab','cd']
print[len[set[a].intersection[set[b]]]]
3
0 cho a = ['ab','bc','cd']
b = ['bc','ab','cd']
print[len[set[a].intersection[set[b]]]]
3
2 với 232 triệu người theo dõi và a = ['ab','bc','cd']
b = ['bc','ab','cd']
print[len[set[a].intersection[set[b]]]]
3
3 cho a = ['ab','bc','cd']
b = ['bc','ab','cd']
print[len[set[a].intersection[set[b]]]]
3
4 với 59 triệu người theo dõi.Bạn có phải là một lập trình viên chính không? Kiểm tra kỹ năng của bạn bây giờ!
Test your skills now!
Video liên quan
So sánh mảng numpy #12
Lập trình viên hài hước
counter=0
for i in a:
for j in b:
if a[i-1] == b[j-1]:
counter = counter + 1
elif a[i-1] != b[j-1]:
counter = counter - 1
print counter
0Trong khi làm việc như một nhà nghiên cứu trong các hệ thống phân tán, Tiến sĩ Christian Mayer đã tìm thấy tình yêu của mình đối với việc dạy các sinh viên khoa học máy tính.
Để giúp học sinh đạt được thành công cao hơn của Python, ông đã thành lập trang web giáo dục chương trình Finxter.com. Ông là tác giả của cuốn sách lập trình phổ biến Python Oneer [Nostarch 2020], đồng tác giả của loạt sách Break Break Python, những cuốn sách tự xuất bản, người đam mê khoa học máy tính, freelancer và chủ sở hữu của một trong 10 blog Python lớn nhất trên toàn thế giới.
Niềm đam mê của ông là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ tăng cường các kỹ năng của họ. Bạn có thể tham gia học viện email miễn phí của anh ấy ở đây.